※ ChatGPTを利用し、要約された質問です(原文:CPU使用率が100%になり特定のプログラム処理が行われない)
CPU使用率100%で特定のプログラム処理が行われないトラブル発生
このQ&Aのポイント
アプリケーションサーバー全体でCPU使用率が100%になり、特定のプログラム処理が行われなくなるトラブルが発生しました。
突然起きたこの問題は、数日前までは正常に稼働しており、プログラム自体には問題がないことが確認されました。エラーログにも異常はありません。
原因は不明ですが、環境はLinux(CentOS,RedHat) + GlassFish + Java + memcached + MySQLで、EJBの非同期処理が行われていない可能性が考えられます。
CPU使用率が100%になり特定のプログラム処理が行われない
CPU使用率が100%になり特定のプログラム処理が行われない
先日会社で運用しているシステムで、ある一定の処理がスキップされてしまうようなトラブルが発生しました。
状況としては、アプリケーションサーバー全台において、ある時間からずっとひとつのCPU使用率が100%となり、LoadAverageがずっと1のままです。
そして、プログラム内でEJBの非同期処理をしていた部分が一切行われなくなりました。
アプリケーション自体は数日正常に稼働しており、突然起きたことなので、プログラム自体の確認もしましたが不備が見つかりません。
エラーログにも何も残っていませんでした。
一切の非同期処理が行われていないので、EJBのバグか何か?とも思いましたが見つけることはできませんでした。
なお環境は以下の通りです。
・Linux(CentOS,RedHat) + GlassFish + Java + memcached + MySQL
・EJBはStateless Session Beanを使用。
・APサーバのCPUはサーバによってデュアルコアのものとクアッドコアのものがあります。
全く原因がわからず、何かアドバイスがいただけないかと思い書き込ませていただいています。
あまり細かい情報を記載していないので、聞いていただければどんどん補足します。
些細なことでも良いので可能性や情報をいただければと思います。
よろしくお願いします。
補足
ご回答ありがとうございます。 そうですね。 無限ループも考えて、プログラムを再度見直したのですが 今のところ無限ループになるような箇所は見当たりません… データベースはinnoDBを使用していますがどの行もロックはかかっていません。 ただ、Javaのスレッドの方はGlassFishの管理コンソールから見るとロックのようなものがかかっているようです。