2011-12-20 15 views
0

昨日、私はtopを使ってQuartzジョブの実行が停止する理由を確認します。これはCPU 99%niを引き起こしますか?

トップにすべてのCPUが99%niで表示されていますか?

これはCPUを変更する原因になりますnice値はあまりにも高いですか?

Javaのデッドループがこれにつながりますか?

環境:

  1. のLinux 2.6.18ケルナー
  2. JDK:SunのJavaの1.6.0_23
  3. JBossの4.2.2.GA

top result

+0

何が問題なのですか? – jman

+0

"Javaのデッドループがこれにつながる可能性はありますか?" - はい。 –

+0

@Stephen Cなぜ私はデッドループがあった場合、linuxはnice値を変更するのですか? – jilen

答えて

0

AS javaプロセスのスレッドダンプを取る - kill -3 pidまたはjstack -l pid。そこからどのメソッドが実行されているかを知ることができます。ある期間にわたって複数のダンプを取る場合は、無限ループがあるかどうかを確かめることができます。同じ方法が毎回スタックトレースの先頭に表示されます。

2

ビジュアルVMを使用してJVMに接続し、JVMをプロファイルできます。起動時に特別なパラメータが必要になることがありますが、これを行うと、次回に何が起こったのかをプロファイラに知らせることができます。

関連する問題