pidstat

Aus Mikiwiki
Wechseln zu: Navigation, Suche

Der Shell-Befehl pidstat aus dem Systemmonitor-Paket sysstat zeigt Statistiken für Linux-Tasks (Prozesse), u. a. zur I/O-Last, zum Prozessor und zum Arbeitsspeicher. Er eignet sich besonders, um einen Prozess über längere Zeit zu beobachten.

Ab Linux-Kernel 2.6.20 mit einkompilierter Option "CONFIG_TASK_IO_ACCOUNTING" (was ab Ubuntu 8.04 Hardy Heron der Fall ist), kann mit pidstat auch die I/O-Last einzelner Prozesse oder ganzer Gruppen überwacht werden.

Inhaltsverzeichnis

Optionen

Option Beschreibung
-d Ausgabe der I/O-Last.
-r Ausgabe der Pagefaults.
-u Ausgabe der Prozessornutzung.
-w Ausgabe der Task Switching Activity des Linux-Kernels.

Verwendung

Ausgabe der I/O-Last.

$ pidstat -d
02:17:11          PID   kB_rd/s   kB_wr/s kB_ccwr/s  Command
02:17:11            1      0.04      0.00      0.00  init
02:17:11         2902      0.00      2.05      0.00  kjournald
02:17:11         5850      0.00      0.00      0.00  getty
...

Ausgabe der I/O-Last auf einem Rechner mit Linux-Kernel ab 2.6.20 mit einkompilierter Option "CONFIG_TASK_IO_ACCOUNTING". "5 3" bewirkt dabei, dass insgesamt drei Durchläufe mit einem Abstand von fünf Sekunden ausgeführt werden. Dabei werden die I/O-Last verursachenden Prozesse sowie die Art (Lesen oder Schreiben) sowie die Datendurchsätze (in KB/s) ausgegeben.

$ pidstat -d 5 3
Linux 2.6.24-24-generic (kanzler)       11.07.2009

20:50:49          PID   kB_rd/s   kB_wr/s kB_ccwr/s  Command

20:50:54          PID   kB_rd/s   kB_wr/s kB_ccwr/s  Command
20:50:59         2904      0.00      0.80      0.00  kjournald
20:50:59         8022      0.00     12.80      3.20  firefox

20:50:59          PID   kB_rd/s   kB_wr/s kB_ccwr/s  Command
20:51:04         8022      0.00      8.80      0.00  firefox

Durchschn.:       PID   kB_rd/s   kB_wr/s kB_ccwr/s  Command
Durchschn.:      2904      0.00      0.27      0.00  kjournald
Durchschn.:      8022      0.00      7.19      1.07  firefox

Beobachtung der Prozesse, in deren Namen die Zeichenfolge "firefox" vorkommt, "20 2" bewirkt dabei, dass insgesamt zwei Durchläufe mit einem Abstand von 20 Sekunden ausgeführt werden.

$ pidstat -u 20 2 -C firefox
20:45:29          PID   %user %system    %CPU   CPU  Command
20:45:49         8022    5.00    0.35    5.35     0  firefox

20:45:49          PID   %user %system    %CPU   CPU  Command
20:46:09         8022    4.30    0.45    4.75     0  firefox

Durchschn.:       PID   %user %system    %CPU   CPU  Command
Durchschn.:      8022    4.65    0.40    5.05     -  firefox