2012-07-01 9 views
5

午後。私は、CentOS 6(64ビット)サーバー上でJava VMに関する本当に困った問題を抱えています。クアッドコアCPU(ハイパースレッディング付き)、16GBのRAM、2TBのハードドライブスペース(ソフトウェアRAID1)を搭載したサーバーです。 FAQによれば、開発者が使用する「一般的なツール」に関する質問が適切であるため、私はここで尋ねると思いました。うまくいけば、誰かがこの問題についていくつか光を当てることができます。JVMはCentOS 6で100%CPU使用率を常に超えています

サーバー上で24時間/日のJavaソフトウェアを実行します。今月(サーバーのロケールで深夜から数時間後に検出され、月の初日であることから注目に値する)、このソフトウェアに接続しているユーザーから、クライアントが突然使用できなくなったという報告を受けました。 JVMが中断されたり、再起動されることはありませんでした。それは数日前に最後に再起動され、それ以来正常に動作していました(通常は約5%以下のCPUを使用しています)。

今回は、プロセスをチェックすると、サーバー上で実行されている他のアプリケーション(上位から報告されたもの)と競合する可能性があるすべてのCPU時間が大幅にアップしていました。 ps)。私はアプリケーションを停止して再起動しようとしましたが、実行した直後にCPU使用率が直ちに100%を超えて再開しました。メモリ使用量は正常です。私は別のJVMフラグを使って実験しましたが、無駄です。私はソフトウェアの最新バージョンをダウンロードして新しくインストールしようとしましたが、これはどちらも役に立たなかった。最後に、という別のJavaソフトウェアをダウンロードしようとしましたが、サーバで実行したときに同じ問題が発生しました。

ソフトウェアをダウンロードしてコンピュータで実行したところ、CPU使用率は正常でした。したがって、私はサーバーで間違っていると推測していますが、私はそれが可能なことを想像することはできません。サーバーのJVMは、標準のリポジトリパッケージ(カスタマイズはありません)から最新です。

CentOSのリリース/ redhatのリリースから
2.6.32-131.21.1.el6.x86_64 #1 SMP Tue Nov 22 19:48:09 GMT 2011 x86_64 x86_64 x86_64 GNU/Linux 

/システム・リリース:

CentOS release 6.2 (Final) 

無料レポートのuname -aから

java version "1.6.0_24" 
OpenJDK Runtime Environment (IcedTea6 1.11.3) (rhel-1.48.1.11.3.el6_2-x86_64) 
OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode) 

ます。java -versionから

約14.5GBの空きRAM dfは/ homeパーティション(問題のソフトウェアとそのすべてのファイルが格納されていた場所)に約1.4tbの空きディスク容量を報告します。

アイデア?より多くのデータが必要かどうか尋ねてみて、私が試してみる/チェックする手続きを提案してください。この問題を調べると、JVMがCentOS上のすべてのCPUを盗むのに問題がある人がいくつか見つかりましたが、それらのどれもが私の問題にマッチしていないようです。

+1

うるう秒今日がありました。今タイマーは、設定される前に1秒*の期限が切れています!リブート。 –

+0

ああ。私はそれが動作するかどうかを知らせますので、後で回答として投稿することができます。 – Protected

+0

それは完全に働いた。ありがとう。私は通常、具体的な理由なしにサーバーを再起動することはできません。なぜなら、すべての顧客のサービスが中断されるからです。 – Protected

答えて

8

あなたはおそらくカーネル2.6.32-220.el6.x86_64とjdk1.7.0_04と私はCentOS6を持って、次のコマンド

# service ntpd stop; date -s "`date`";service ntpd start; 

を試してみたい、高いCPUが観察され、上記のコマンドによって解決されました。 OSを再起動する必要はありません。

これは、https://access.redhat.com/knowledge/solutions/154793で説明されているLinuxカーネルのバグです。上記の修正は、http://blog.wpkg.org/2012/07/01/java-leap-second-bug-30-june-1-july-2012-fix/

+0

これはまた、カーネル2.6.32-220.17.1.el6.x86_64#1 SMPとJava "1.6.0_24" OpenJDK(IcedTea6 1.11.3)(rhel-1.48.1.11.3.el6_2-x86_64)で私のために修正されました。 (ビルド20.0-b12、混合モード) – danio

0

で説明されています。この問題がFedora 14、Tomcat 6、およびOpenJDK 1.6に存在することを確認できます。ミスティーチの解決策も私のために働いた。

のuname -ar:

2.6.35.14-103.fc14.x86_64 #1 SMP Thu Oct 27 15:41:25 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux 

のjava -versionは:

java version "1.6.0_20" 
OpenJDK Runtime Environment (IcedTea6 1.9.10) (fedora-55.1.9.10.fc14-x86_64) 
OpenJDK 64-Bit Server VM (build 19.0-b09, mixed mode) 
1

私はまた、RHEL 6、Tomcatの7、およびSun/OracleのJavaの7 & Java 6の中に問題の存在を確認することができます。

ntpd stop; date; ntpd startコマンドが機能しました。

uname: 
2.6.32-220.2.1.el6.x86_64 #1 SMP Fri Dec 23 02:21:33 CST 2011 x86_64 x86_64 x86_64 GNU/Linux 
関連する問題