Der Swap wird nicht ausgeräumt, beim wieder Einlagern der Pages werden nur Pointer umgesetzt, der belegte Platz im Swap wird bis zum Ende oder Abbruch des jeweiligen Programms gebraucht. Nach meiner Erfahrung bleibt ein System ohne Swap recht schnell hängen. In meinen Systemen ist der Swap >= Memory. Es gibt eine Variable, in der die maximale Memorygröße eines Prozesses gesetzt werden kann. Gruß Reinhard Am Dienstag, 1. Februar 2005 19:36 schrieb Thomas Hertweck:
Bernd Brodeßer
schrieb am 01.02.05 18:38:40: Am Dienstag, 1. Februar 2005 15:32 schrieb Al Bogner:
Wenn ich mir u.a Bilder ansehe, dann fürchte ich, dass die Swap-Partition voll wird. Was passiert dann?
Dann werden Teile überschrieben, die am längsten nicht mehr gebraucht wurden. Vorher braucht es nicht gelöscht zu werden, denn es ist ja noch ungenutzter Platz da, den das System zuerst verwenden kann. Und das was gebraucht wurde, kann sein, daß es nochmal gebraucht wird.
Ich habe die Frage ein wenig anders aufgefasst... Wenn dem System VM (d.h. Speicher [RAM] + Swap) ausgeht, weil die laufenden Prozesse zu viel Speicher verbrauchen (geschieht leicht bei einem Memory Leak in einer Software), dann wird der Linux-Kernel anfangen, Prozesse zu killen, und zwar nach einer bestimmten Policy, die sich im Laufe der Zeit mal geaendert hat. Es geht hier nicht um den Fall, dass einfach Speicher ausgelagert wird um ggf. mehr Buffer zur Verfuegung zu haben - es ist wirklich der Fall gemeint, dass VM (used + shared) komplett ausgeht... AFAIK wird der Kernel zuerst Prozesse killen, die kurze Zeit laufen aber viele Ressourcen verbrauchen. So haelt sich das Linux System selbst am Leben. Ueberschrieben werden Teile im Swap, die noch aktiv sind, IMHO nicht; lediglich Teile, die nicht mehr gebraucht werden, aber bisher nicht physikalisch aus dem Swap geloescht wurden, weil das ja nicht noetig ist und nur unnoetig Zeit beanspruchen wuerde. Bei Bedarf werden diese inaktiven Teile dann tatsaechlich ueberschrieben.
Gruesse, Th.