Per Prozess I/O Statistiken

Aus Thomas-Krenn-Wiki
Zur Navigation springen Zur Suche springen
Hinweis: Bitte beachten Sie, dass dieser Artikel / diese Kategorie sich entweder auf ältere Software/Hardware Komponenten bezieht oder aus sonstigen Gründen nicht mehr gewartet wird.
Diese Seite wird nicht mehr aktualisiert und ist rein zu Referenzzwecken noch hier im Archiv abrufbar.

Für die Analyse der Festplatten-Auslastung ist es von Vorteil zu wissen, welcher Prozess auf das Device schreibt bzw. von diesem liest. Unter Umständen ist es notwendig, detailliertere Informationen zu erhalten, als sie z.B. iotop liefert.

Im ersten Schritt kann mit iostat analysiert werden, welches Device wie ausgelastet wird:

# iostat 2
Linux 3.2.0-20-generic (ssd-server) 	04/17/2012 	_x86_64_	(4 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.01    0.00    0.02    0.15    0.00   99.82

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sdb              22.86       310.20       940.49   18686344   56654892
sda               1.14         5.22       317.58     314359   19130645
dm-0             22.47         0.02        73.31       1249    4416279

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.13    0.00    0.13    0.00    0.00   99.75

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sdb             843.00      2048.00     15582.00       4096      31164
sda               4.00         0.00      2048.00          0       4096
dm-0           3840.00         0.00     15360.00          0      30720

Mit iotop können anschließend die Prozesse aufgelistet werden,die I/O verursachen:

# iotop -b -n1

Eine noch genauere Ausgabe wird über das "/proc-Verzeichnis" erreicht. Dazu kann die Option "block_dump" aktiviert werden, mit der alle Disk reads/writes mitgeloggt werden:[1][2]

echo 1 > /proc/sys/vm/block_dump

Achtung: nach der Aktivierung dieser Option werden sehr viele Information mitgeloggt, die Performance des Systems kann dadurch durchaus beeinträchtigt werden. Die Option sollte man daher nur für kurze Zeit und zu Analyse-Zwecken aktivieren. Die Logging-Informationen selbst erscheinen über das Syslog oder dmesg:

# dmesg | tail
[62350.803635] ext4lazyinit(4601): WRITE block 192983256 on dm-0 (8 sectors)
[62350.803646] ext4lazyinit(4601): WRITE block 59559128 on sdb1 (8 sectors)
[62350.803652] ext4lazyinit(4601): WRITE block 192983264 on dm-0 (8 sectors)
[62350.803660] ext4lazyinit(4601): WRITE block 59559136 on sdb1 (8 sectors)
[62350.803666] ext4lazyinit(4601): WRITE block 192983272 on dm-0 (8 sectors)
[62350.803674] ext4lazyinit(4601): WRITE block 59559144 on sdb1 (8 sectors)
[62350.803679] ext4lazyinit(4601): WRITE block 192983280 on dm-0 (8 sectors)
[62350.803688] ext4lazyinit(4601): WRITE block 59559152 on sdb1 (8 sectors)
[62350.803693] ext4lazyinit(4601): WRITE block 192983288 on dm-0 (8 sectors)
[62350.803701] ext4lazyinit(4601): WRITE block 59559160 on sdb1 (8 sectors)
# tail /var/log/syslog
Apr 17 09:43:23 ssd-server kernel: [62350.803674] ext4lazyinit(4601): WRITE block 59559144 on sdb1 (8 sectors)
Apr 17 09:43:23 ssd-server kernel: [62350.803679] ext4lazyinit(4601): WRITE block 192983280 on dm-0 (8 sectors)
Apr 17 09:43:23 ssd-server kernel: [62350.803688] ext4lazyinit(4601): WRITE block 59559152 on sdb1 (8 sectors)
Apr 17 09:43:23 ssd-server kernel: [62350.803693] ext4lazyinit(4601): WRITE block 192983288 on dm-0 (8 sectors)
Apr 17 09:43:23 ssd-server kernel: [62350.803701] ext4lazyinit(4601): WRITE block 59559160 on sdb1 (8 sectors)

Die obige Ausgabe zeigt die Lazy Initialization eines neu erstellten Dateisystems, das die Inode-Tabellen initialisiert. Aus bis jetzt nicht nachvollziehbaren Gründen scheint der Prozess "ext4lazyinit" zwar bei der Ausgabe von iotop auf, das Tool zeigt aber keine Device-Aktivitäten an (keine read/writes). Die Option "block_dump" offenbarte, welcher Prozess die I/O-Operationen auf das Device verursacht.

Einzelnachweise

Das könnte Sie auch interessieren

Fehlerhafte Helligkeitssteuerung unter Linux beim Thinkpad T410 beheben
Gelöschte Dateien unter ext3 und ext4 wiederherstellen
SSH Key Login