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はサーバによってデュアルコアのものとクアッドコアのものがあります。 全く原因がわからず、何かアドバイスがいただけないかと思い書き込ませていただいています。 あまり細かい情報を記載していないので、聞いていただければどんどん補足します。 些細なことでも良いので可能性や情報をいただければと思います。 よろしくお願いします。

  • Java
  • 回答数2
  • ありがとう数11

質問者が選んだベストアンサー

  • ベストアンサー
  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.1

CPU100%というととりあえず浮かぶのが無限ループね。 データベースが排他かかっている間、延々待ち続ける実装になっていれば 待ちスレッドが大量に出現したのかもしれないわ。

ommr29
質問者

補足

ご回答ありがとうございます。 そうですね。 無限ループも考えて、プログラムを再度見直したのですが 今のところ無限ループになるような箇所は見当たりません… データベースはinnoDBを使用していますがどの行もロックはかかっていません。 ただ、Javaのスレッドの方はGlassFishの管理コンソールから見るとロックのようなものがかかっているようです。

その他の回答 (1)

  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.2

確かにJavaスレッドのロックもありえるわね。 スレッドの状態を監視してみると 特定の処理が長時間待機状態になっているのがあれば その周辺が怪しそうね

関連するQ&A

  • 同期、非同期にかかわらずCPUの使用率が50%

    C# VS 2005 のHttpWebRequestやWebRequestを使って Webにアクセスしていますが、 同期、非同期にかかわらずCPUの使用率が50%くらいに上がってしまいます。 もっとCPUの使用率を減らしたいのですが、 Webにアクセスすること自体がCPUを消費するのでしょうか? もし不可能であれば、処理速度を若干遅くして CPUの使用率を減らすことは可能でしょうか?

  • CPU使用率についての質問です

    こんにちは、CPU使用率についての質問です。 よろしくお願いします。 ソフトウェア(主にゲーム)の中には、 強制的にCPU使用率を100%固定にするものがあります。 これをデュアルコアCPUやクアッドコアCPUで動かした場合も100%になるのでしょうか? 私は今までシングルコアCPUしか使ったことがないので分かりません。

  • プロセスがCPU使用率100%になる

    社内のサーバでWindowsのセキュリティパッチを適用すると必ずといっていいほどCPU使用率が100%になるサーバがあります。 CPU使用率の高いプロセスを確認したところ「TrustedInstaller」がほぼ独占している状態で、その状態がしばらく続いているようでした。 サーバのセキュリティパッチは「Windows Server Update Services(WSUS)」で管理しており、該当サーバは単純な子サーバで一定期間未適用のセキュリティパッチを親サーバで配布した後、手動で適用しています。 CPU使用率が上がるタイミングとしては手動で適用を実行したとき(適用処理中は平均して使用率が高い)はもちろんなのですが、適用後数時間経ってからまた使用率が上がる場合があります(特に操作していないのに急に上がるが、継続時間は10分程度)。 なお、業務的に即時サーバを再起動することができないため夜間に自動再起動しているのですが、それまでは再起動していません。 また、再起動後は「TrustedInstaller」によりCPU使用率が上がることはありません。 知りたいのはなぜ適用処理後~再起動の間にまた「TrustedInstaller」のCPU使用率が高くなるのか、というところです。 WSUSを使用しているため親サーバとのやりとりが発生するために上がるのか、再起動をしていないため定期的に「TrustedInstaller」が忙しく動き出すのか(この場合は再起動までの間何度か使用率が上がってもよさそうですが)。 常時「TrustedInstaller」が高いのであれば、それはそれで問題ですが今回の話にはならないので悩みはなくなるのですが…。 サーバについては、WindowsServer2008R2(64bit)、メモリ:16GB、CPU:Xeon2.27GHz です。 なにかご存じであれば教えていただけると助かります。よろしくお願いします。

  • CPU使用率について。

    タイトル通り、タスクマネージャを開いてCPU使用率を見ると、 ほぼ100%に近いのですが、これって異常でしょうか? 使っているCPUは、Intel Core2DUO E6600   2.4Gです。ちなみに使用しているアプリケーションが1つ だけでもCPU使用率が96%~98%です。CPUがヤレてきた のでしょうか?OCはしていません。

  • CPUの使用率を・・・。

    CPUの使用率を調べていたら→Windows NT Logon Application(5.1.2600.1106)このソフトが凄い使用率だったのですが一体このソフトは何を使っているのでしょうか?教えて下さい。どうぞ宜しくお願いします。XPを使っています。

  • CPU使用率100%で考えられる影響は?

    いつもお世話になります。 VisualBasicを使用してプログラムを作成しています。 プログラムを永久ループにしている為CPU使用率が100%となっていたので、WinAPI関数のSleepを追加したら使用率が1%以下になりました。 (そんなに重いアプリではありません) ふと思ったのですが、CPU使用率100%のまま使い続けると、どういった影響が考えられるのでしょうか?例えばHDクラッシュとかフリーズするとかが考えられるのでしょうか?(他のアプリケーションの動作が遅くなるというのは考えられますね・・・) 特に影響無しであれば、気にしないのですが。 以上、宜しくお願いします。 VB6.0(SP6),WinXP,TOSHIBA-dynabook,Celeron1.3G

  • タスクマネ・・。CPU使用率が大きいの教えて!

    タスクマネージャーにあるCPU使用率についてお聞きします。 CPU使用率が常に50%になって重たくて困っています。添付画像は電源オンにして10分後の画像です。他にアプリケーションは起動していません。 原因を調べると甲、乙二つの情報がありましたが、どちらが原因なのかが解りませんので教えて頂きたいです。OSは別として情報からお聞きします。 甲 http://www.atmarkit.co.jp/ait/articles/0001/15/news001.html この説明によると、緑の線と赤の線に開きがあるのでユーザー・アプリケーションが原因ということになるのでしょうかね? 他にアプリケーションを起動はしていません。 乙 タスクマネージャーのプロセスからみると「svchost.exe」名が一番大きい値を示していました。 CPU:49 CPU時間:2:18:52 メモリ使用量 18,652k です。 調べると自動アップデートとありました。 http://zacodesign.net/blog/?p=773 (質問) 1 この場合、CPU使用率が常に50%になっている原因は甲、乙両方ですか? 2 乙はアップデートなので削除できないとすれば、CPU使用率を0~20%程度にすることは無理なのでしょうか? 宜しくご見解を願います。

  • CPU 使用率 99%

    ワードやイラストレターでアプリケーションを立ち上げただけでCPU使用率が100%近くになってしまい直ぐフリーズしてしまいます。どのようにすれば直せるのでしょうか? 宜しくお願いします。

  • タスクマネージャに於けるCPU使用率について。

    いつもお世話になっています。 タスクマネージャ於けるCPU使用率について教えて下さい。 当方は現在動きが非常に遅いウィンドウズXPを使用しているのですが、タスクマネージャでCPU使用率を調べたところ、常にほぼ100%使用率がありまして、CPU使用率がめったに95%を下回りません。 当方はアプリケーションを常時動かしたり、バックグラウンドででもアプリケーションを動かしたりはしていないので、なぜCPU使用率がこれほど常時高いのか、その理由が分りません。 ただ、このPCは最近中古で購入したものなので、バックグラウンドで何らかのアプリケーションが動いているのかもしれませんが、しかし、CPU使用率が常時100%というのは納得がいきません。 CPU使用率が高い理由を調べる方法を教えてください。 また、CPU使用率を下げる方法を教えて下さい。 宜しくお願いします。

  • CPU使用率が高い⇒メッセージ

    いつもお世話になっております。 現在、Windows Server 2003をファイルサーバとして使用しております。 たまにアクセス数が多く、CPUが高くなり遅くなる事があります。 そこで、CPU使用率が70%を超えた時点で、 画面上にダイアログでメッセージを出そうと思うのですが、 可能でしょうか?(OSの標準機能で。。。) VBなどで、監視プログラムを作るべきでしょうか? ご教授の程、宜しくお願い致します。