Swap

Nov. 22, 2011

Linuxtipp: Welche Prozesse benutzen Swap?

Wenn ein Linux-System Auslagerungsspeicher nutzt, wird es normalerweise langsam, weil das Lesen von der Festplatte deutlich langsamer ist als das Lesen aus dem RAM. Wenn ein Prozess wirklich nicht benutzt wird kann er allerdings im Swap liegen und das System läuft sogar schneller, weil es den RAM des Prozesses wieder zur Verfügung hat.

Ob man wirklich mehr RAM braucht hängt also davon ab ob Prozesse, die aktiv genutzt werden, im Swap liegen oder nur Prozesse, die ausgelagert wurden, weil sie sowieso inaktiv sind.

Nur wie stellt man das fest? Mit den gängigen Linux-Tools ist das schwer auszulesen. Aber es gibt Abhilfe:

Erik Ljungstrom hat ein praktisches Shellscript geschrieben, das ausgibt welcher Prozess wieviel Swap benutzt.

Beispiel:

$ sudo ~/bin/swapusage.sh 
PID=1 - Swap used: 108 - (init )
PID=2 - Swap used: 0 - (kthreadd )
[...]
PID=312 - Swap used: 472 - (udevd )
PID=438 - Swap used: 460 - (udevd )
PID=439 - Swap used: 512 - (udevd )
[...]
PID=3057 - Swap used: 956 - (console-kit-dae )
PID=3171 - Swap used: 64 - (screen )
PID=3172 - Swap used: 14224 - (irssi )
[...]
PID=24750 - Swap used: 0 - (bash )
PID=24794 - Swap used: 0 - (screen )
PID=25387 - Swap used: 0 - (bash )
PID=25445 - Swap used: 0 - (sudo )
PID=25446 - Swap used: 0 - (swapusage.sh )
[...]

(Ausgabe gekürzt)

In dem Beispiel ist das einzige Programm das nennenswert Daten im Swap liegen hat irssi. Da irssi trotzdem nicht spürbar langsam ist liegt der Verdacht nahe dass vielleicht längere Backlogs im Swap liegen, die nur nötig sind wenn man wirklich mal in einem Fenster wieder hochscrollt.

Kategorien Linux
Tagged linux Tipp Swap Shell Script
Mobil qrcode zeigen

0 Kommentare