我有 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 内核的一个功能,并且与发行版无关。