1

我收到以下 JVM 崩溃错误。我可以知道如何解决这个问题吗?请参考以下 hs_err 日志。

#
# An unexpected error has been detected by HotSpot Virtual Machine:
#
#  Internal Error (50532D41524B33574545502445434F5241544F520E4350500024), pid=18211, tid=1137465664
#
# Java VM: Java HotSpot(TM) 64-Bit Server VM (1.5.0_22-b03 mixed mode)

---------------  T H R E A D  ---------------

Current thread (0x00002aab6407df10):  VMThread [id=18260]

Stack: [0x0000000043bc5000,0x0000000043cc6000),  sp=0x0000000043cc4850,  free space=1022k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.so+0x667711]
V  [libjvm.so+0x2e4c66]
V  [libjvm.so+0x5a899d]
V  [libjvm.so+0x5a8ade]
V  [libjvm.so+0x5b11f4]
V  [libjvm.so+0x5a76e6]
V  [libjvm.so+0x5b29bb]
V  [libjvm.so+0x57d04d]
V  [libjvm.so+0x67003a]
V  [libjvm.so+0x66fa5a]
V  [libjvm.so+0x66f176]
V  [libjvm.so+0x66f3eb]
V  [libjvm.so+0x66ef7a]
V  [libjvm.so+0x56ff45]

VM_Operation (0x000000004138c420): parallel gc failed allocation, mode: safepoint, requested by thread 0x000000001ed29460


---------------  P R O C E S S  ---------------

Java Threads: ( => current thread )
  0x000000001ed29460 JavaThread "CobolThread 362" daemon [_thread_blocked, id=6054]
  0x000000001ac8e4f0 JavaThread "CobolThread 361" daemon [_thread_blocked, id=6038]...

请问是否可以通过更改JVM参数来解决上述错误?以下是当前使用的 JVM 参数。

-Xms2048m -Xmx2048m -XX:MaxPermSize=768m -XX:+UseParallelGC 
4

1 回答 1

8

You use an old VM and specify a GC algorithm using an option explicitly non stable :

Options that are specified with -XX are not stable and are subject to change without notice.

(from http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html)

This line of your trace shows that the failure is related to the parallel gc :

VM_Operation (0x000000004138c420): parallel gc failed allocation

So if you don't have a really specific reason to use this parameterization, remove it. You should only choose a GC algorithm when you know why. And update your VM, as it's harder to search for the bugs of this old version.

于 2012-06-26T16:58:53.833 回答