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

相关内容