Gibt es eine Möglichkeit, unter FreeBSD 10 mit ZFS einen Prozess zu finden, der regelmäßig auf die Festplatte schreibt (gemäß Festplatten-LED) (vielleicht indem ZFS in den ausführlichen Protokollierungsmodus versetzt wird)?
lsof
und andere Dienstprogramme zur sofortigen Statistikaggregation scheinen aufgrund der kurzen Zeitspanne vom Festplattenzugriff nichts erfassen zu können.
Antwort1
DTracekann VFS-Informationen in FreeBSD (sowie eine Reihe anderer Sonden) melden. DTrace ist im 10er-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
Bekommen dasvfssnoop.dSkript aus den FreeBSD-Foren. Dasganzer Threadist eine Fundgrube für die Festplattenüberwachung.
Starte es:
./vfssnoop.d
Achten Sie auf die Ausgabe, um zu sehen, worauf zugegriffen wird:
# ./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
Antwort2
laufen: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 jede Sekunde aktualisiert.