PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : RHL 4.x : Swap File Usage, wieso?


Hacki_P3D
2007-12-12, 08:43:03
Moin

Hab hier ein RHL 4.x, auf einer 4GB Maschine.

top sagt mir zum Speicher : 1.8GB is used, 2.2GB free
Und bei Swap: 99MB used, ca 8GB free


Woher kommen denn die 100MB ?

grüße
Hacki

klutob
2007-12-12, 09:18:41
Hi,

Schau dir mal die Swapstrategie unter "cat /proc/sys/vm/swappiness" an. Wenn der Wert bei 60 (ist bei vielen Distributionen als Default gewählt, bei 60% RAM Auslastung wird also begonnen inaktive Prozesse auszulagern) liegt, kannst du diesen einfach mal erniedrigen z.B. "echo -n "10" >/proc/sys/vm/swappiness".
Allerdings richtet sich die genaue Einstellung nach deinen Anwendungen. Wenn du viele Prozesse mit großem Speicherbedarf laufen läßt und nur die aktiven schon über 50% des RAMs beanspruchen, ist es performanter einen recht großzügigen Wert bei der "swappiness" Variable zu wählen (30-50) ansonsten können die aktiven Prozesse vom Auslagern betroffen sein, mit entsprechenden Performance-Einbrüchen.

Hacki_P3D
2007-12-12, 09:24:03
allösche!

Danke für den Tipp, der Wert liegt bei 60% !

Es ist halt so dass der Rechner manchmal gut ausgelastet wird, da sind dann schon mal 500MB Swap am Start. Denke mal dass es dann schon OK ist mit denn 60% ? (Mehr Ram wäre natürlich besser, keine Frage)

Was ich jetzt net versteh ist die Swap-Strategie...wieso jetzt grad 100MB allokiert sind wenn doch garnix läuft und genug RAM zur Verfügung steht.

klutob
2007-12-12, 10:01:56
Was ich jetzt net versteh ist die Swap-Strategie...wieso jetzt grad 100MB allokiert sind wenn doch garnix läuft und genug RAM zur Verfügung steht.

Bei 60% RAM-Auslastung (swappiness=60=Grenzwert) fängt der Kernel jetzt halt an Diskcache, inaktive Prozesse etc. im Hintergrund auszulagern, damit diese Operationen nicht beim Aufruf eines neuen aktiven Prozesses wegen Speichermangel mit entsprechendem Performance-Hit ausgeführt werden müssen. Wahrscheinlich sind die 100MB im Swap noch Shared-Lib Leichen einer Spitzenauslastung, ohne das sie bisher weder genutzt noch die RAM Auslastung deutlich unter den "swappiness" Grenzwert gefallen ist (Dämpfungsfunktion).

Das System kennt ja nicht die Auslastung der Zukunft, nur der Admin kann die Grenzwerte sinnvoll auf der speziellen Maschine abstimmen. Das Setzen der "swappiness" Variable bei kritischer Performance ist eigentlich eine Standardtuningaufgabe.

Wenn du also genug RAM für alle aktiven Prozesse bei Spitzenauslastung besitzt und kein Filesystem mit riesigen Cacheeinstellungen benutzt (xfs), kannst du den Grenzwert ruhig mal in Richtung 15-20 sinken lassen. Und beobachten wie sich dein System verhält ("vmstat 1").

Gast
2007-12-12, 11:02:10
äh chef dann fängt er doch noch früher an in den swap auszulagern O_o

Er sollte da lieber mal 70 oder 80 einstellen.

klutob
2007-12-12, 11:15:39
äh chef dann fängt er doch noch früher an in den swap auszulagern O_o

Er sollte da lieber mal 70 oder 80 einstellen.

Noe. Siehe Kerneldoku.

Hacki_P3D
2007-12-12, 11:24:48
Danke für die Erklärung, klutob ! :smile:

Gast
2007-12-12, 21:24:47
Noe. Siehe Kerneldoku.

Dann ist deine Erklärung aber falsch und irreführend.

BananaJoe
2007-12-13, 21:12:04
1.8 used wird auch bedeuten das jede Menge gecached ist, also nicht wirklich voll..