Hallo,
mit vm.swappiness kann man das Swap-Verhalten des Kernel einstellen. Gibt es eine ähnliche Möglichkeit die Swap-Freigabe zu beeinflussen?
Wenn Swap belegt ist bleibt er sehr lange belegt. Wie kann man die Freigabe beschleunigen (nicht auf die harte Tour mit swapoff -a / swapon -a)
Hintergrund ist, das es 2 Swap-Partitionen gibt. Die eine ist mit höherer Priorität mit zram eingerichtet.
Wenn die voll ist - und ewig voll bleibt, ist sie ja quasi sinnlos. Denn ab dem nächsten swappen wird ja nur noch die normale Swap-Partition genutzt.
Grüße Klal
Swap freigeben
Re: Swap freigeben
echo 1 >/proc/sys/vm/drop_caches wuerde so etwas aehnliches wie sync() machen, also nur geoeffnete Dateien betreffen und keine Programmspeicher. Vielleicht gibt's etwas anderes in dieser Richtung?
Gruss Cae
Gruss Cae
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.
—Bruce Schneier
Re: Swap freigeben
Ich weiß nicht ob dir bewusst ist, wie das funktioniert und ob du dieses verhaltewirklich haben willst.klal hat geschrieben:Wenn die voll ist - und ewig voll bleibt, ist sie ja quasi sinnlos. Denn ab dem nächsten swappen wird ja nur noch die normale Swap-Partition genutzt.
Wenn daten vom RAM in den SWAP ausgelagert wurden, und nie benutzt wurden bleiben die dadrin stehen. Die hintergrundidee ist der Folgende:
Wenn etwas seht lange nicht genutzt wurde, ist die warscheinlichkeit klein, dass es in nächster Zeit wieder genutzt wird. Man lässt das dann lieber im SWAP liegen, um RAM für Sachen frei zu haben, die regelmäßig gebraucht werden, ohne zuerst andere sachen sehr zeitaufwendig in den SWAP (mit höherer Priorität) zu verschieben.
Außerdem hat man dann auch den ganzen SWAP mit höherer priorität, für sachen, die häufiger genutzt werden und das entfernen aus dem SWAP verursacht auch IO-last.
rot: Moderator wanne spricht, default: User wanne spricht.
Re: Swap freigeben
Ja, wie Du schon schreibst, liegen im RAM Dinge die lange nicht gebraucht wurden und wahrscheinlich länger nicht gebraucht werden.
Wenn nun etwas Aktuelles swappt, was wahrscheinlich auch zeitnah wieder verwendet wird ist der zram-Swap noch voll von den alten Dingen und das System swappt auf die normale Partition.
Deswegen soll zumindest die Swap-Partition im zram nicht allzu lange voll bleiben, damit sie aktuelle Sachen aufnehmen kann.
Wenn nun etwas Aktuelles swappt, was wahrscheinlich auch zeitnah wieder verwendet wird ist der zram-Swap noch voll von den alten Dingen und das System swappt auf die normale Partition.
Deswegen soll zumindest die Swap-Partition im zram nicht allzu lange voll bleiben, damit sie aktuelle Sachen aufnehmen kann.
Re: Swap freigeben
Toll. Du verschiebst Sachen, die du lange nicht brauchst vom zram in den RAM damit du sachen, die due häufig brauchst in den zram verschieben kannst, und jedes mal neu komprimieren kannst. Wenn man mit der CPU-heizen willst klingt das sinnvoll. Sonst eher nicht.klal hat geschrieben:Deswegen soll zumindest die Swap-Partition im zram nicht allzu lange voll bleiben, damit sie aktuelle Sachen aufnehmen kann.
rot: Moderator wanne spricht, default: User wanne spricht.
Re: Swap freigeben
Gehört denn alles im swap zu aktiven Prozessen oder bleibt nicht auch was zurück das überflüssig ist?
Wenn der Swap voller ist als der maximale RAM und man mit swapoff -a , swappon -a den Swap manuell leert funktioniert das ja auch - oder nicht?
D.h. es muss nicht unbedingt alles vom Swap in den Ram kopiert werden, sondern einiges wird einfach überflüssig sein - oder nicht?
Wenn der Swap voller ist als der maximale RAM und man mit swapoff -a , swappon -a den Swap manuell leert funktioniert das ja auch - oder nicht?
D.h. es muss nicht unbedingt alles vom Swap in den Ram kopiert werden, sondern einiges wird einfach überflüssig sein - oder nicht?
Re: Swap freigeben
Würde mal sagen eher nicht. Caches werden meines wissens nicht in den SWAP verschoben sondern einfach gelöscht. Kann aber sein dass das unter Linux anders ist.klal hat geschrieben:Wenn der Swap voller ist als der maximale RAM und man mit swapoff -a , swappon -a den Swap manuell leert funktioniert das ja auch - oder nicht?
D.h. es muss nicht unbedingt alles vom Swap in den Ram kopiert werden, sondern einiges wird einfach überflüssig sein - oder nicht?
rot: Moderator wanne spricht, default: User wanne spricht.