無限ループ

無限ループの検出のためにはスレッドダンプを複数回採取することが有効です。

複数回採取したスレッドを比較し、特定のスレッドの状態が実行中(RUNNABLE)であるにも関わらず、特定のメソッドの呼び出しから状況が変化しない場合には、そのメソッド内のロジックに無限ループの問題を含んでいる可能性があります。

あるいは、そのメソッドがネイティブメソッド(JNI 呼び出し)である場合、そのネイティブメソッド内部で同様の問題を含んでいる可能性があります。対象のメソッドがアプリケーションロジックである場合には、システム開発者がその部分のソースコードを参照してロジックの問題解決を進めます。

なお、デッドロックや無限ループの問題が発見された場合、対象となるプロセスを終了させます。それがプロセスグループの場合は、プロセスグループの強制停止を行います。

プロセスグループに対する強制停止は、プロセスグループのツリーノードを右クリックして「プロセスグループの強制停止」を行うか、対象の環境にログインした後、次のコマンドを実行します。

otxadmin >  stop-pg --force --apgroup <アプリケーショングループ名> <プロセスグループ名>

対象のプロセスがエージェントプロセスの場合は、ドメインの強制停止を実行します。ドメインを強制停止するためには次のコマンドを実行します。

otxadmin >  stop-domain --force <ドメイン>

関連情報