
我有 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 核心的功能,並且與發行版無關。