找出哪个进程分叉了太多线程

找出哪个进程分叉了太多线程

我在 Linux 安装中有一个进程,在某些时候会出现某种峰值并超过系统允许的最大允许线程/进程数。我通过ps -elfT | wc -l反复检查发现了这一点。

但我不知道到底是什么导致了这种峰值。
的输出ps -elfT有很多信息,但我无法轻易理解是否有某个子进程在分叉中进行某种“模糊”操作并造成混乱。

我怎么能弄清楚呢?

示例:ps -elfT | cut -d' ' -f3 | sort |uniq给我当时正在运行的进程。我怎样才能添加一个计数来查看每个项对总数的贡献有多少?

答案1

ps -eo nlwp,pid,args --sort nlwp

将显示按线程数排序的进程列表。

对于类似俯视图的视图,您始终可以执行以下操作:

watch -n 1 'ps -eo nlwp,pid,args --sort -nlwp | head'

或者你可以使用top...

  • f选择要显示的字段。
  • 找到nTH(线程数)d并按展示s使其成为种类命令
  • 您可以使用、 然后和来调整其显示位置
  • q返回进程列表
  • H如果您想查看所有线程,请按。
  • d来调整延迟。
  • ?求助。

相关内容