我使用 Ubuntu 8.04、Nginx、Passenger、Mysql、RVM 以及所有常见的软件在 VPS 上托管了几个 Rails 应用程序。
最近几天,我第一次真正需要调试问题并查看哪些进程正在运行。我可以使用 Passenger-status 和 Passenger-memory-stats 修复该问题,但我对正在运行的进程数量感到困惑,无法弄清楚。
看一下这个截图:http://screencast.com/t/wUMrmy5iQPQi(取自 htop)
它显示了很多 Hudson 进程(Hudson 是我在该机器上运行的 CI 服务器)。
我的问题是:
- 为什么有34个?
- 它们都是独立的过程吗?
- 它们应该有 34 个吗,或者它们中的一些是陈旧的、孤立的进程,在重新启动时没有正确关闭,我应该终止它们?
答案1
您正在查看线程。在 htop 中,按 F2 查看选项,然后选择“显示选项”。选中“隐藏用户空间线程”复选框和/或尝试 htop 中的某些选项,例如“以不同颜色显示线程”
您可能还想打开 PPID(父进程 ID)列。然后您将能够知道所有线程可能都列出了相同的父进程。
答案2
Linuxps
将显示单独的线程作为流程。我认为在这方面没有什么可担心的。
尝试该-L
标志来查看线程(轻量级进程)信息。