我最喜欢的ps
调用是:
ps -efww ef
因为我需要watch
所有进程 ( -e
),获取有关它们的扩展信息 ( -f
),查看它们运行的环境 ( e
),换行 ( -w -w
) 这样我就不会丢失其中的任何部分,并在视觉上将f
子进程分组 ( )家长们可以一目了然。
我“浪费”了整个早上试图得到任何线程信息也会出现,遵循上面相同的可视化逻辑。我一定尝试过 40 种不同的选项组合。 (事实上,我刚刚检查了我的.bash_history
并且我已经尝试了更多!)。例如,组合包括交换f
和森林展示。-H
有时我什至尝试排列来检查阴险的“顺序”......
所有线程选项似乎都不与我的“监控屏幕”设置兼容。我说的是H
、、、和。-L
m
-m
-T
我很困惑。我做错了吗?你们做得怎么样?
具体来说:我需要监视诸如下载管理器之类的进程,它们突然变得有 30 到 80 个线程......
答案1
要监视创建大量线程的进程,我认为相关的是每个进程的线程数,因此请使用
ps -o pid -o thcount
加上任何选项来选择要匹配的进程,例如-e
或-C
。定期运行该命令并观察thcount
.这将为您提供近似结果(例如,您不会检测调用之间是否重用 PID),但这应该足以满足您的目的。
请注意,您可以限制每个进程的线程数:
(ulimit -T 20; downloadmanager)