Cześć. Przeczytałem tutaj, że lsof nie jest dokładnym sposobem uzyskania liczby otwartych deskryptorów plików. Zamiast tego zalecił użycie tego polecenia
cat /proc/sys/fs/file-nr
Chociaż to polecenie wyświetla liczbę FD, w jaki sposób wyświetlasz listę otwartych deskryptorów plików, które to polecenie właśnie policzyło?
linux
bash
command-line
dimas
źródło
źródło
Odpowiedzi:
Istnieją dwa powody, dla
lsof | wc -l
których nie liczą się deskryptory plików. Jednym z nich jest to, że zawiera listę rzeczy, które nie są otwartymi plikami, takich jak ładowane dynamicznie połączone biblioteki i bieżące katalogi robocze; musisz je odfiltrować. Innym jest to, żelsof
jego uruchomienie zajmuje trochę czasu, więc można pominąć pliki, które są otwierane lub zamykane podczas działania; dlatego liczba wymienionych otwartych plików jest przybliżona. Patrzenie na/proc/sys/fs/file-nr
daje dokładną wartość w danym momencie.cat /proc/sys/fs/file-nr
przydaje się tylko wtedy, gdy potrzebujesz dokładnej liczby, głównie w celu sprawdzenia wyczerpania zasobów. Jeśli chcesz wyświetlić listę otwartych plików, musisz zadzwonićlsof
lub użyć innej równoważnej metody, takiej jak/proc/*/fd
ręczne trałowanie .źródło
/proc/*/fd
zawierają dowiązania symboliczne do otwartych plików. Do kontroli wizualnej użyjls -l
. W przypadku zautomatyzowanego leczenia użyjreadlink
do wyodrębnienia docelowego łącza.setrlimit
(wywołanie systemowe leżące u podstawulimit
polecenia powłoki) dotyczą poszczególnych procesów. Wpływają one tylko na proces, który wykonuje połączenie (i pośrednio na procesy, które później wywołuje).Informacje o procesie są dynamicznie przechowywane przez system w katalogach w katalogu / proc. Na przykład proces z PID 1234 będzie miał katalog o nazwie / proc / 1234.
Jest tam sporo informacji, ale teraz interesuje Cię podkatalog / proc / 1234 / fd .
UWAGA: Musisz mieć uprawnienia administratora, aby przeglądać lub otwierać pliki dla procesów, których nie jesteś właścicielem, a także dla procesów SetUID.
Przykład:
Zobacz także pozostałe pliki w katalogu / proc ... znajduje się tutaj wiele przydatnych informacji z systemu.
źródło