lsof 指令對於特定進程 ID 來說花費的時間太長

lsof 指令對於特定進程 ID 來說花費的時間太長

我有 Centos 6.7 透過包裝程式運行 java 應用程式。所以首先我運行了這個。

lsof -p 15200 | wc -l and I got the results immediately as 200

接下來我運行這個 lsof -p 15232 | wc -l我花了太長時間並且從未產生任何結果。我還可以使用什麼其他方法來取得開啟的檔案總數?我需要知道因為我的系統在一段時間後仍然掛起。我可能需要增加開啟檔案的大小。

答案1

您可以取得由 PID 識別的程序開啟的檔案數量,例如 15232,執行下列操作:

ls -l /proc/15232/fd | wc -l

來自Debian 列表

我試著弄清楚以下內容的含義:

/proc/$PID/fd/*

文件。

這些連結指向 pid 為 $PID 的進程的開啟檔案。 Fd 代表“檔案描述子”,它是一個整數,用於標識類別 UNIX 系統中的任何程式輸入或輸出。

實際上,這也是lsof命令獲取資訊以提供進程文件的地方。

這是 Linux 核心的功能,並且與發行版無關。

相關內容