找出哪些进程正在分叉

找出哪些进程正在分叉

我的服务器似乎有点慢,所以我决定安装 munin 来查看发生了什么。一个突出的统计数据是服务器每秒分叉 50 次,这对于我的服务器来说似乎有点过分。

我如何找出一直在分叉的是什么?我正在使用 nginx、postgres 和 uwsgi,但我不明白为什么它们中的任何一个会导致这么多。

我如何才能找出导致这种情况的进程?我试过谷歌,但我只能找到vmstat -f告诉我当前数字的 - 所以除了 munin 之外没有其他信息给我。

该盒子是一个使用 Centos 5 的虚拟机(它已经运行了 4 年,所以有点旧了,我只是没有时间重新配置更新的东西)

答案1

您可以使用 strace 附加到各种进程,然后查找对 fork/vfork/clone 的调用。

答案2

我知道我很久以前就问过这个问题,但答案是这个数字来自物理机而不是虚拟机。因此,物理服务器上的所有虚拟机每秒处理分叉 50 次。那么作为统计数据,这真的相当不错

相关内容