Java

為什麼有這麼多程序在執行?

  • January 18, 2011

我使用 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 個或者其中一些是陳舊的、孤立的程序,在重新啟動時沒有正確關閉並且我應該殺死它們?

您正在查看執行緒。在 htop 中,按 F2 選擇選項,然後選擇“顯示選項”。選中“隱藏使用者執行緒”框和/或嘗試 htop 中的一些選項,例如“以不同顏色顯示執行緒”

您可能還想打開 PPID(父程序 ID)列。然後你就可以知道所有執行緒都可能列出同一個父程序。

Linuxps會將單獨的執行緒顯示為程序。我認為在這方面沒有什麼可擔心的。

嘗試使用-L標誌以查看執行緒(輕量級程序)資訊。

引用自:https://serverfault.com/questions/223667