web-dev-qa-db-ja.com

なぜこれほど多くのプロセスが実行されているのですか?

私はUbuntu8.04、Nginx、Passenger、Mysql、RVMを使用してVPSでいくつかのRailsアプリケーションをホストしているので、すべての通常の容疑者です。

ここ数日、問題をデバッグして、実行中のプロセスを確認する必要があったのは初めてでした。パッセンジャーステータスとパッセンジャーメモリ統計を使用して問題を修正することはできましたが、実行中のプロセスの数にかなり混乱していて、それを完全に理解することはできません。

たとえば、このスクリーンショットを見てください。 http://screencast.com/t/wUMrmy5iQPQi (htopから取得)

多くのHudsonプロセスが表示されます(Hudsonは、そのマシンで実行しているCIサーバーです)。

私の質問は次のとおりです。

  • なぜ34個あるのですか?
  • それらはすべて別々のプロセスですか?
  • それらは34個あるはずですか、それとも再起動時に適切にシャットダウンせず、強制終了する必要のある古い孤立したプロセスがありますか?
6
Manuel Meurer

あなたはスレッドを見ています。 htopで、オプションのF2を押してから、[表示オプション]を選択します。 [ユーザーランドスレッドを非表示にする]チェックボックスをオンにするか、「スレッドを別の色で表示する」など、htopのいくつかのオプションを試してください。

PPID(親プロセスID)列をオンにすることもできます。そうすれば、すべてのスレッドが同じ親プロセスをリストしている可能性が高いことがわかります。

12
basszero

Linux psは、プロセスとして個別のthreadsを表示します。その点で心配することは何もないと思います。

-Lフラグを試して、スレッド(軽量プロセス)情報を確認してください。

0
trojanfoe