убить -3 вернуться пусто - PullRequest
1 голос
/ 27 июня 2011

У меня есть Java-приложение, которое, кажется, застряло.Я попытался убить -3, но вывод пуст (он перенаправлен в файл, но там ничего нет).
каким образом я могу увидеть, что он делает?

РЕДАКТИРОВАТЬ:

Я пробовал jstack, но он падал:

Linux # /usr/pkgs/java/1.6.0.25/bin/jstack -F -l 12666
Attaching to process ID 12666, please wait...

A fatal error has been detected by the Java Runtime Environment:

 SIGSEGV (0xb) at pc=0xaf121777, pid=5423, tid=2937191328

JRE version: 6.0_25-b06
Java VM: Java HotSpot(TM) Server VM (20.0-b11 mixed mode linux-x86 )
Problematic frame:
C  [libsaproc.so+0x1777]  void+0x1777
...

EDIT2:

это сбой jvisualvm:

Linux # /usr/pkgs/java/1.6.0.25/bin/jvisualvm

A fatal error has been detected by the Java Runtime Environment:
SIGSEGV (0xb) at pc=0xf36d0777, pid=18217, tid=4090493856
JRE version: 6.0_25-b06
Java VM: Java HotSpot(TM) Client VM (20.0-b11 mixed mode, sharing linux-x86 )
Problematic frame:
C  [libsaproc.so+0x1777]  void+0x1777

An error report file with more information is saved as:
/tmp/root/feeder_wa/coho_idc/logs/hs_err_pid18217.log

If you would like to submit a bug report, please visit:
http://java.sun.com/webapps/bugreport/crash.jsp
The crash happened outside the Java Virtual Machine in native code.
See problematic frame for where to report the bug.

/ usr / pkgs / java / 1.6.0.25 / bin /../ lib / visualvm // платформа / lib / nbexec: строка 539: 18217 Прервано "/usr/pkgs/java/1.6.0.25/bin/java"-Djdk.home = "/ usr / pkgs / java / 1.6.0.25" -classpath "/usr/pkgs/java/1.6.0.25/lib/visualvm/platform/lib/boot.jar:/usr/pkgs/java/1.6.0.25/lib/visualvm/platform/lib/org-openide-modules.jar:/usr/pkgs/java/1.6.0.25/lib/visualvm/platform/lib/org-openide-util-lookup.jar:/USR / pkgs / Java / 1.6.0.25 / Библиотека / VisualVM / платформа / Библиотека / орг-openide-util.jar: /usr/pkgs/java/1.6.0.25/lib/visualvm/platform/lib/locale/boot_ja.jar: /usr/pkgs/java/1.6.0.25/lib/visualvm/platform/lib/locale/boot_zh_CN.jar: /usr/pkgs/java/1.6.0.25/lib/visualvm/platform/lib/locale/org-openide-modules_ja.jar: / USR / pkgs / JAVA / 1.6.0.25 / Библиотека / VisualVM / Платформа / Библиотека / локаль / орг-openide-modules_zh_CN.jar: /usr/pkgs/java/1.6.0.25/lib/visualvm/platform/lib/locale/org-openide-util-lookup_ja.jar: /usr/pkgs/java/1.6.0.25/lib/visualvm/platform/lib/locale/org-openide-util-lookup_zh_CN.jar: /usr/pkgs/java/1.6.0.25/lib/visualvm/platform/lib/locale/org-openide-util_ja.jar:/usr/pkgs/java/1.6.0.25/lib/visualvm/platform/lib/locale/org-openide-util_zh_CN.jar:/usr/pkgs/java/1.6.0.25/lib/dt.jar:/usr/pkgs/java/1.6.0.25/lib/tools.jar "-Dnetbeans.dirs =" / usr / pkgs / java / 1.6.0.25 / bin /../lib / visualvm // visualvm: /usr/pkgs/java/1.6.0.25/bin /../ lib / visualvm // profiler: "-Dnetbeans.home =" / usr / pkgs / java / 1.6.0.25 / lib /visualvm / platform "'-client' '-Xms24m' '-Xmx256m' '-Dsun.jvmstat.perdata.syncWaitMs = 10000' '-Dsun.java2d.noddraw = true' '-Dsun.java2d.d3d = false' -XX: + HeapDumpOnOutOfMemoryError -XX: HeapDumpPath = "/ root / .visualvm / 6u23 / var / log / heapdump.hprof" org.netbeans.Main --userdir "/root/.visualvm/6u23" "--branding" visualvm "0 <& 0 </p>

Ответы [ 2 ]

2 голосов
/ 27 июня 2011

Попробуйте VisuamVM , вы можете найти его в каждом JDK после версии 6 на jdkInstallDir/bin/visualvm.

1 голос
/ 01 ноября 2011

Я думаю, тебе не повезло.Иногда приложение переходит в мертвое состояние, которое не может быть каким-либо образом выгружено из потока, kill, jstack или jvisualvm.

Если это происходит регулярно, тогда настройте дамп потока расписания и, возможно, jmap -histo: live.Вам нужно собрать потоки и дампы памяти, прежде чем приложение перестанет отвечать на запросы.Я предпочитаю дампы текстовым файлам, потому что вы можете оставить скрипт работающим на ночь каждые полчаса, не требует отображения и может быть легко обработан такими вещами, как grep.Jvisualvm отлично подходит для поиска первопричины утечек памяти, но сначала определите, есть ли она, поскольку это может вызвать стресс у вашего приложения и вызвать сбой.

...