JVM崩壊
1480 ワード
プログラムはちゃんとしていましたが、大改正をしました。テストの時、ある場面でプログラムが突然消えてしまいました。検査後、JVMが崩壊しました。
実行ディレクトリでエラーのlogファイルが生成されました。hs_err_pid 26290.log
開けてみたら、いくつかの情報が見えます。インターネットの資料も調べました。
JVMの崩壊はネットで探してみましたが、普通以下のような状況が多いです。
1.メモリが足りない、特にHeapが足りないため、具体的な例: http://www.zhuoda.org/hofman/66549.html
2.JVMコンパイル時に発生したJVMの崩壊、例えば:
http://seanhe.iteye.com/blog/905997 を選択します。
http://hi.baidu.com/wzgws/item/60ad0dea9ae6aff6e0a5d476
3.GCの時に発生したJVMの崩壊は、このネット上で一番多いです。
資料の状況によって、ロゴファイルを分析しました。
ロゴファイルの内容にはこれらの部分が含まれています。
Threadによって、問題がどのタイプのスレッドにあるかを判断できます。Heapでメモリ使用の状況を分析できます。
自分のロゴを分析しましたが、問題はComplerThread 0でもあります。Java Trouble Shoting Gideの解釈によると(関連部分はhttp://seanhe.iteye.com/blog/905997の中ですでに翻訳を提供しました)、関連している方法を-XX:CommleCommandに調合して、問題は解決されます。
また、崩壊位置の定義はこのロゴファイルに説明されています。
Native frame:(
J=compled Java code、
j=interpreted、
Vv=VMコード、
C=native code
)
実行ディレクトリでエラーのlogファイルが生成されました。hs_err_pid 26290.log
開けてみたら、いくつかの情報が見えます。インターネットの資料も調べました。
JVMの崩壊はネットで探してみましたが、普通以下のような状況が多いです。
1.メモリが足りない、特にHeapが足りないため、具体的な例: http://www.zhuoda.org/hofman/66549.html
2.JVMコンパイル時に発生したJVMの崩壊、例えば:
http://seanhe.iteye.com/blog/905997 を選択します。
http://hi.baidu.com/wzgws/item/60ad0dea9ae6aff6e0a5d476
3.GCの時に発生したJVMの崩壊は、このネット上で一番多いです。
資料の状況によって、ロゴファイルを分析しました。
ロゴファイルの内容にはこれらの部分が含まれています。
:
JVM crash main information:
1.JVM:(1.5.0_17-b04 mixed mode)
A fatal error has been detected by the Java Runtime Environment:
2.SIGSEGV (0xb)
3.libjvm.so+0x48acf3
4.Java Threads: ( => current thread )
ComiplerThread [_thread_in_native]
5.Current CompileTask:
com.apusic.net.Muxer.acceptConnection(SocketAdaptor paramSocketAdaptor)
6.Heap 。
Threadによって、問題がどのタイプのスレッドにあるかを判断できます。Heapでメモリ使用の状況を分析できます。
自分のロゴを分析しましたが、問題はComplerThread 0でもあります。Java Trouble Shoting Gideの解釈によると(関連部分はhttp://seanhe.iteye.com/blog/905997の中ですでに翻訳を提供しました)、関連している方法を-XX:CommleCommandに調合して、問題は解決されます。
また、崩壊位置の定義はこのロゴファイルに説明されています。
Native frame:(
J=compled Java code、
j=interpreted、
Vv=VMコード、
C=native code
)