Verständnisfrage zum Swap-Verhalten

Naja, solange noch nicht alles "vollgecached" ist, gibt es keinen Grund auszulagern. Bei 1GB Ram und einem WM wie IceWM (Flame on: der BESTE ;) )wird idR nicht so extrem viel verbraucht sodass für Cache viel übrig bleibt.

Gruß
 
Ja, es kommt auf die gesamt verfügbare Menge RAM und auf den Einsatzzweck an. Dennoch stimmt diese Aussage, lasse das System mal ein paar Tage laufen. ;)
FreeBSD ist in erster Linie um den Standpunkt herum gebaut, dass nicht genutzter RAM verschwendeter RAM ist. So werden eigentlich nicht mehr benötigte Daten im Speicher gehalten, für den Fall das diese doch noch einmal gebraucht werden. Sie werden erst entfernt, wenn man den Speicher andersweitig nutzen kann. Außerdem buffert FreeBSD relativ viel Dateisystemkram im RAM, wenn denn welcher zur Verfügung steht.
Nach längerer Laufzeit, etwa nach 24 Stunden, wird das System aber doch wählerisch. Selbst wenn noch mehr als genug RAM frei ist, werden kleine Prozesse, die bis dahin gar nicht oder nur zu Beginn genutzt wurden, ausgelagert. Ein gutes Beispiel hierfür sind die getty-Prozesse bei einem Server, der Headless läuft. Wenn ein Prozess 24h nicht genutzt wurde, ist es sehr unwahrscheinlich, dass er in den nächsten Minuten benötigt wird. Da sie zudem klein sind, benötigt das Ein- und Ausswappen nicht viel Zeit. Daher ist es meist besser sie in die Swap zu legen und den freiwerdenden RAM sinnvoller zu nutzen, z.B. für Dateisystemcaches.

Noch einmal zur Speicherbelegung in Top, denn hier kommt es oft zu Missverständnissen:
Mem: 590M Active, 169M Inact, 202M Wired, 30M Cache, 112M Buf, 7940K Free
- 590 Megabyte sind belegt und jederzeit swapbar
- 169 Megabyte sind belegt, aber keinem Prozess zugeordnet. Dieser Speicher kann jederzeit ausgenullt und neu vergeben werden. Vulgär gesagt ist er also "frei.
- 202 Megabyte sind "verdrahtet". Sie sind belegt und können nicht geswapt werden.
- 30 Megabyte sind irgendwelche Caches. Meist Dateisystem. Können normalerweise recht schnell leer geräumt werden
- 112 Megabyte sind Buffer. Hierfür gilt das gleiche wie für Caches
- 7949 Kilobyte sind frei, können also sofort neu vergeben werden.
Das System könnte hier also schnell mindestens 175 Megabyte sofort freiräumen, wenn sie benötigt werden. Weitere 140 Megabyte könnte es mittelfristig zur Verfügung stellen. Dank einer 2 Gigabyte Swap langfristig (das bedeutet innerhalb von Sekunden, für den Computer ist das eine sehr lange Zeit), sogar noch viel mehr.

Swap: 1024M Total, 349M Used, 675M Free, 34% Inuse
Diese Swapbelegung ist aber dennoch zu hoch, auch nach 73 Tagen Uptime. Hier sollte man also über ein RAM-Upgrade nachdenken.
 
Zuletzt bearbeitet:
Danke für die Antworten! Bei mir ist gerade:

Mem: 353M Active, 361M Inact, 161M Wired, 44M Cache, 108M Buf, 46M Free
Swap: 2047M Total, 20K Used, 2047M Free

(Firefox und Compiler laufen)
 
Zurück
Oben