Как заставить свалку мусора, связанную с сбором мусора в Websphere? - PullRequest
0 голосов
/ 12 января 2012

У меня проблема с моим приложением Java EE, когда я время от времени вижу дамп кучи в производственной среде, которая использует сервер приложений WebSphere.Этот дамп происходит в случайное время в классе, где он использует библиотеку генерации PDF, которая использует файл DLL для генерации некоторых отчетов.Это также приводит к автоматическому перезапуску JVM.

Глядя на файлы дампа и native_stderr.log, кажется, что одновременно возникла проблема со сборкой мусора.Есть ошибки типа:

reason="insufficient time being spent in gc" gctimepercent="1" 

Кроме того, ошибка ошибки сегментации выглядит следующим образом:

 Unhandled exception Type=Segmentation error vmState=0x00000000
J9Generic_Signal_Number=00000004 ExceptionCode=c0000005 ExceptionAddress=7F030F32 ContextFlags=0001003f
Handler1=7F040D90 Handler2=7F0E7D70 InaccessibleAddress=35A13000
EDI=0CD776C8 ESI=35A13000 EAX=0004AEF8 EBX=24DB5500
ECX=00009FC6 EDX=0004AEF8
EIP=7F030F32 ESP=2C14FD5C EBP=2C14FDC4
Module=E:\u01\was61\java\jre\bin\j9vm23.dll
Module_base_address=7F020000 Offset_in_DLL=00010f32
Target=2_30_20090224_30451_lHdSMr (Windows Server 2003 5.2 build 3790 Service Pack 2)
CPU=x86 (4 logical CPUs) (0x1fff37000 RAM)
JVMDUMP006I Processing Dump Event "gpf", detail "" - Please Wait.
JVMDUMP007I JVM Requesting System Dump using 'E:\data\servers\MyApp\workdir\core.20120103.101629.9812.0001.dmp'
JVMDUMP010I System Dump written to E:\data\servers\MyApp\workdir\core.20120103.101629.9812.0001.dmp
JVMDUMP007I JVM Requesting Snap Dump using 'E:\data\servers\MyApp\workdir\Snap.20120103.101629.9812.0002.trc'
JVMDUMP010I Snap Dump written to E:\data\servers\MyApp\workdir\Snap.20120103.101629.9812.0002.trc
JVMDUMP007I JVM Requesting Java Dump using 'E:\data\servers\MyApp\workdir\javacore.20120103.101629.9812.0003.txt'
JVMDUMP010I Java Dump written to E:\data\servers\MyApp\workdir\javacore.20120103.101629.9812.0003.txt
JVMDUMP013I Processed Dump Event "gpf", detail "".

Дамп кучи говорит, что причиной дампа была «gpf», и говорит о сегментацииОшибка.

Я пытаюсь воспроизвести то же самое в моем местном окружении, но безуспешно.Я пытаюсь вызвать частую сборку мусора, задав некоторые параметры, пока я пытаюсь сгенерировать отчет.Какие странные параметры я могу установить в консоли администратора Websphere, чтобы она чаще выполняла GC?

1 Ответ

3 голосов
/ 13 января 2012

Проблема GC (недостаточно времени в GC) - красная сельдь. Это просто означает, что ваша куча больше, чем нужно, и JVM, вероятно, уменьшит это число.

Однако GPF серьезен - это внутренний сбой JVM. Обновите до последнего уровня обслуживания вашей IBM Java 5 JVM (у вас установлена ​​старая версия), и если это не помогло, сообщите о проблеме в службу поддержки IBM.

...