
Ich habe Centos 6.7, auf dem eine Java-Anwendung über ein Wrapper-Programm läuft. Also habe ich zuerst Folgendes ausgeführt.
lsof -p 15200 | wc -l and I got the results immediately as 200
Als ich das als nächstes ausführte, lsof -p 15232 | wc -l
dauerte es immer zu lange und es wurden keine Ergebnisse erzielt. Welche andere Methode kann ich verwenden, um die Gesamtzahl der geöffneten Dateien zu ermitteln? Ich muss es wissen, da mein System nach einer bestimmten Zeit immer noch hängt. Ich muss möglicherweise die Größe der geöffneten Dateien erhöhen.
Antwort1
Sie können die Anzahl der von einem durch eine PID identifizierten Prozess geöffneten Dateien, beispielsweise 15232, wie folgt ermitteln:
ls -l /proc/15232/fd | wc -l
von demDebian-Listen:
Ich versuche, die Bedeutung von Folgendem herauszufinden:
/proc/$PID/fd/*
Dateien.
Dies sind Links, die auf die geöffneten Dateien des Prozesses verweisen, dessen PID $PID ist. Fd steht für „File Descriptors“, eine Ganzzahl, die in UNIX-ähnlichen Systemen alle Programm-Eingaben oder -Ausgaben identifiziert.
Dies ist auch tatsächlich der Ort, an dem der lsof
Befehl die Informationen trinkt, um Ihnen die Dateien eines Prozesses zu geben.
Dies ist eine Funktion des Linux-Kernels und ist distributionsunabhängig.