私は非常に独特な問題に直面しています。私のTomcatは24時間年中無休で約25%のCPUで完全に動作しますが、ある日、私のCPUは最大60%になり、システムは停止して回復に失敗します。
スローダウン中にスレッドダンプを取得すると、ほとんどすべてのスレッドが何らかの文字列または関連する操作でビジー状態になります。
OutOfMemoryエラーや例外がスローされることはなく、すべての要求は引き続き処理されますが、応答時間はn度まで低下し、1秒未満の要求でも60秒以上かかるようになります。
私のサーバー構成は次のとおりです。
Ubuntu 12.04.2 LTS
Linux 3.2.0-38-仮想#60-Ubuntu SMP x86_64 x86_64 x86_64 GNU / Linux
Javaバージョン「1.7.0_13」
Java(TM)SEランタイム環境(ビルド1.7.0_13-b20)
Java HotSpot(TM)64ビットサーバーVM(ビルド23.7-b01、混合モード)
エクスポートJAVA_OPTS='-サーバー
-Xms18g -Xmx18g
-XX:MaxPermSize = 512m
-XX:ThreadStackSize = 512
-XX:NewRatio = 1
-XX:SurvivorRatio = 4
-XX:+ UseConcMarkSweepGC
-XX:+ UseParNewGC
-XX:+ CMSClassUnloadingEnabled
-Xloggc:/usr/tomcat/logs/gc.log
-XX:+ PrintGCDetails
-XX:+ PrintGCDateStamps
-XX:+ PrintTenuringDistribution
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port = 9999
-Dcom.sun.management.jmxremote.authenticate = false
-Dcom.sun.management.jmxremote.ssl = false
-Djava.awt.headless = true '
スレッドダンプをダウンロードするには、ここをクリックしてください。スレッドとそのスタックトレースの大部分を削除しました
vmstatログをダウンロードするには、ここをクリックしてください
これの原因について何か考えはありますか?ありがとう