
Ich muss herausfinden, welcher Prozess ununterbrochen auf die Festplatte schreibt.
Ich habe versucht, prstat -t
die Liste der laufenden Prozesse abzurufen, kann jedoch nicht identifizieren/finden, um welchen Prozess es sich handelt.
Beim Ausführen df -k
kann ich sehen, dass der Speicherplatz auf einem bestimmten Pfad der Festplatte kontinuierlich abnimmt.
Nachdem Sie alle Prozesse beendet haben (und alle externen Verbindungen geschlossen haben), die jemals auf die Festplatte schreiben könnten, gibt es immer noch etwas, das darauf schreibt.
Betriebssystem Solaris 10
Antwort1
Es werden nicht die tatsächlichen IO-Operationen angezeigt, aber Sie können auch verwendendas fuser
Dienstprogrammum Prozesse zu identifizieren, die das Dateisystem in irgendeiner Weise verwenden, auch solche, die keine tatsächlichen IO verursachen oder IO auf eine Weise durchführen, die nicht auf einen bestimmten Prozess zurückgeführt werden kann ( mmap()
von Dateien ist ein Beispiel, wobei eine Datei mmap()
von mehreren Prozessen verwendet werden kann):
Zusammenfassung
/usr/sbin/fuser [-c | -d | -f] [-nu] [-k | -s sig] files [ [- ] [-c | -d | -f] [-nu] [-k | -s sig] files] ...
Beschreibung
Das Dienstprogramm „Fuser“ zeigt die Prozess-IDs der Prozesse an, die die als Argumente angegebenen Dateien verwenden.
Auf jede Prozess-ID folgt ein Buchstabencode. Diese Buchstabencodes werden wie folgt interpretiert. Wenn der Prozess die Datei als
c Zeigt an, dass der Prozess die Datei als aktuelles Verzeichnis verwendet.
m Gibt an, dass der Prozess eine mit mmap(2) gemappte Datei verwendet. Weitere Einzelheiten finden Sie unter mmap(2).
n Zeigt an, dass der Prozess eine nicht blockierende obligatorische Sperre für die Datei aufrechterhält.
o Zeigt an, dass der Prozess die Datei als geöffnete Datei verwendet.
r Zeigt an, dass der Prozess die Datei als Stammverzeichnis verwendet.
t Zeigt an, dass der Prozess die Datei als Textdatei verwendet.
y Zeigt an, dass der Prozess die Datei als Steuerterminal verwendet.
Beispiel:
Vorausgesetzt, Ihr Home-Verzeichnis befindet sich auf einem separaten Dateisystem, das unter eingehängt ist /export/home
, werden hier alle Prozesse angezeigt, die in irgendeiner Weise Dateien auf diesem Dateisystem verwenden, einschließlich der Prozesse, die keine E/A durchführen, aber ein aktuelles Arbeitsverzeichnis in diesem Dateisystem haben, sowie Prozesse, die Dateien aus diesem Dateisystem im Speicher zugeordnet haben:
fuser -c /export/home