FreeBSD 10-Trace-Festplattenaktivität


9

Gibt es eine Möglichkeit, einen Prozess zu finden, der unter FreeBSD 10 mit ZFS regelmäßig auf die Festplatte schreibt (laut HDD-LED) (möglicherweise wird ZFS in den ausführlichen Protokollierungsmodus versetzt)?

lsof und andere sofort aggregierende Statistikdienstprogramme scheinen aufgrund einer kurzen Zeitspanne eines Festplattenzugriffs nichts abfangen zu können.


Was ist mit der Verwendung des Io-Displays von top, um nach dem Prozess zu suchen, der Ihre Festplatten-E / A frisst? : top -m io -o total : Freebsd.org/cgi/...

Es ist wahrscheinlich nützlich für Prozesse mit hoher Last, die meistens im Vordergrund stehen, aber nicht für Prozesse, bei denen die Aktivität nicht mit dem Top-Zeitplan übereinstimmt. zB wenn hdd led ständig in ein paar Sekunden blinkt, gibt es fast keine Chance, etw oben zu sehen, so weit ich es versucht habe
o_0

Antworten:


9

DTrace kann über vfs-Informationen in FreeBSD (sowie über eine Reihe anderer Sonden) berichten. DTrace ist im 10-Kernel standardmäßig aktiviert. Sie müssen also nur das Modul laden und dann das dtrace-Skript ausführen.

Laden Sie das DTrace-Modul

kldload dtraceall

Holen Sie sich das Skript vfssnoop.d aus den FreeBSD-Foren. Der gesamte Thread ist eine Fundgrube für die Festplattenüberwachung.

Starte es:

./vfssnoop.d

Beobachten Sie die Ausgabe für den Zugriff:

# ./vfssnoop.d 
cc1: warning:  is shorter than expected
TIMESTAMP           UID    PID PROCESS          CALL             SIZE PATH/FILE
1555479476691083      0   1225 nfsd             vop_getattr         - /share/netboot
1555479478601010      0   1225 nfsd             vop_inactive        - /share/netboot
1555479482457241      0   1225 nfsd             vop_getattr         - /share/wpad.dat
1555480557262388      0   1432 cron             vop_getattr         - /var/cron/tabs
1555480557302178      0   1432 cron             vop_inactive        - /var/cron/tabs
1555480557336414      0   1432 cron             vop_inactive        - /etc
1555480557346224      0   1432 cron             vop_getattr         - /etc/crontab

Heilige Makkaroni! Vielen Dank, mein Googeln ist endlich zu Ende)
o_0

5

Lauf: top -m io -o write -s 1

Dadurch wird die Liste der Prozesse ausgedruckt, sortiert nach der Menge, die sie auf die Festplatte schreiben, und alle 1 Sekunde aktualisiert

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.