Ich habe einige Prozesse, die von Zeit zu Zeit viele Laufwerkszugriffe durchführen, aber ich konnte bisher nicht isolieren, welcher Prozess oder welche Prozesse den Zugriff ausführen. Welchen Shell-Befehl kann ich ausgeben, um die intensivsten Prozesse für den Festplattenzugriff zu isolieren?
Nachdem ich versucht hatte, meine eigene Lösung durch fs_usage
Manipulation zu erstellen, entdeckte ich das DTrace- iotop
Skript ( man iotop
). Dies scheint wirklich den Trick zu machen, wenn es darum geht, Proben der Dateisystemaktivität in netten aktualisierten Intervallen zu geben, und ermöglicht es einem, schnell möglicherweise fehlerhafte Prozesse zu isolieren.
* HINWEISsudo
: Sie müssen es mit oder als Benutzer ausführen root
.
Zum Beispiel:
sudo iotop -C 5 # Simply gives an update every 5 seconds in default output format without clearing screen.
sudo iotop -CP 2 # Gives 2 second interval updates w/o clearing screen and I/O time based output.
Optionen:
iotop [-C] [-D|-o|-P] [-j|-Z] [-d device] [-f filename] [-m mount_point] [-t top] [interval [count]]
-C don't clear the screen
-D print delta times - elapsed, us
-j print project ID
-o print disk delta times, us
-P print %I/O (disk delta times)
-Z print zone ID
-d device
instance name to snoop (eg, dad0)
-f filename
full pathname of file to snoop
-m mount_point
mountpoint for filesystem to snoop
-t top print top number only
Das Tentakel
leuchten
iosnoop
viel verwendet, aber im Allgemeinen festgestellt,fs_usage
dass es schneller ist. Muss mit spielenrwsnoop
, danke.