Skip to content

swapiness

So wie es aussieht muss ich mich mal mit (Linux) Speichermanagement auseinander setzen da ich seit ein paar Monaten ein äußerst "interessantes" Problem habe, dass ich bisher aber erfolgreich ignoriert habe.

Obwohl meine Arbeitsmaschine schon ein paar Tage auf dem Buckel hat, habe ich damals 6GB RAM eingepflanzt - als ehemaliger Eclipse Nutzer hat man da ja gewissen Anforderungen - beobachte ich seit einiger Zeit nach ein paar Stunden Uptime, dass die Kiste anfängt wie blöde zu swappen, was unerwartet ist wenn man regelmäßig an einem uralt Netbook sitzt, da in der Regel die gleichen Programme nutzt und mit ~1GB RAM auskommt. Zuerst kriegt man das auch gar nicht mit, wenn man so versunken in sein Texstudio starrt, aber sobald dann ein Taskwechsel oder Ähnliches passieren soll, merkt man ... oh Backe, der Hund hat KWin und Plasma rausgeswappet. Was die Sache interessant macht ist, dass  ungefähr folgendes passiert:

  • irgendein Prozess, den ich noch nicht identifiziert habe läuft Amok, ich habe entweder Firefox/Flash oder Nepomuk/Virtuoso im Verdacht.
  • swap, swap, swap bis sich die Lage wieder beruhigt hat
  • geswappter Speicher wird größtenteils zurück in den RAM geschoben
  • KWin (teilweise) und Plasma (vollständig) bleiben im Swap hängen und daran ändert sich dann auch nichts mehr 

Wer die Zugriffszeiten der verschiedenen Speicher halbwegs im Kopf hat, kann sich vorstellen, was das für die Responsivität der GUI bedeutet. Wer sich das nicht vorstellen kann, für den hat Herr McCandless eine schöne Metapher, die mit Essen zu tun hat, parat.

Was kann man also tun? Bisher habe ich immer einfach Plasma neugestartet, weil ich zuerst diese Komponente in Verdacht hatte für die Swapperei verantwortlich zu sein. Mittlerweile glaube ich das aber nicht mehr. Also werde ich wohl oder übel mal profilen müssen ... wenn ich Zeit habe ... .

Bis dahin hilft hoffentlich, falls der Fall wieder auftritt, den Swap einmal von Hand zurück zu schreiben

# swapff -a

# swapon -a

und die Swapiness des Kernels zu reduzieren

# echo 0 > /proc/sys/vm/swappiness

Ich bin gespannt.

Falls sonst noch jemand Ideen hat, immer her damit.