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

我使用Ubuntu 8.04,Nginx,Passenger,Mysql,RVM在VPS上托pipe了几个Rails应用程序,所以所有常见的嫌疑人。

在过去的几天里,这是我第一次真正debugging一个问题,看看哪些进程正在运行。 我可以使用乘客状态和乘客记忆统计来解决这个问题,但是我对运行的进程数量感到非常困惑,不能完全弄明白。

看看这个截图例如: http : //screencast.com/t/wUMrmy5iQPQi (取自htop)

它显示了很多Hudson进程(Hudson是我在该机器上运行的CI服务器)。

我的问题是:

  • 为什么有34个?
  • 他们都是单独的过程?
  • 是否应该有其中的34个,或者是其中一些陈旧的孤立进程,在重新启动时没有正常closures并且我应该杀死?

你正在看到线程。 在htop中按F2键select“显示选项”。 选中“隐藏用户区线程”和/或尝试一些htop选项,如“显示不同颜色的线程”

您可能还想打开PPID(父进程ID)列。 然后你就可以知道所有的线程都可能列出同一个父进程。

Linux的ps将显示单独的线程作为进程。 在这方面我不觉得有什么可担心的。

尝试-L标志来查看线程(轻量级进程)信息。