プロセスはCPU時間をすべて占めています。

プロセスはCPU時間をすべて占めています。

CPU時間を100%消費するPerlジョブを開始するプロセスを追跡するための魔法命令はありますか? JBoss ASがインストールされている複数のシステムでこの問題が発生しました。

ここに画像の説明を入力してください。

答え1

procstatFreeBSDで使用できます。

procstat $PID

たとえば、プロセス概要を提供するために

 PID  PPID  PGID   SID  TSID THR LOGIN    WCHAN     EMUL          COMM        
8898  8894  1977  1977     0   6 tant     usem      FreeBSD ELF64 chrome

PPIDは、プロセスを開始した可能性がある親プロセスのIDです。

そして

procstat -f $PID

あなたは通り過ぎるでしょう$PID

procstat -c $PID

プロセスのパラメーターを指定してください。

このプロセスは疑わしいようです。/usr/bin/javadプロセスが実際にファイルを開いたか、プログラムが最初の引数をオーバーライドしたかどうかを確認する必要はありません。

答え2

次のコマンドを実行して、コマンドに関する詳細情報を表示できます。

ps l 39181

これは通常、実行中のスクリプトの名前を含むコマンドの引数を表示します。

滞在したい場合は、見たい情報項目をtopタップして選択してください。fPPIDを探してください。これはPerlプロセスを作成したプロセスのIDです。

答え3

ps -fp processid親プロセスを表示するには、次のようにします。ps -fjp pidプロセスの階層を提供するプログレスグループIDを表示するために使用されます。

編集:以下のコメントで述べたように(まだコメント権限がありません)、これはLinuxでのみ機能します。

答え4

トップ実行中のすべてのプロセス、CPU使用率、メモリ使用率、およびその他すべての重要な情報を一覧表示する素晴らしいコマンドです。

関連情報