为什么有这么多进程正在运行?

为什么有这么多进程正在运行?

我使用 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标志来查看线程(轻量级进程)信息。

相关内容