Uzyskiwanie zrzutu systemowego, gdy wirtualna maszyna języka Java zawiesi (tylko systemLinux )

W pewnych warunkach proces wirtualnej maszyny języka Java (VM) może być zawieszony podczas tworzenia pliku zrzutu systemowego w systemie Linux®. W celu uzyskania danych można wykonać ręczne kroki.

Błąd może być identyfikowany przez komunikaty wysłane przez maszynę wirtualną, na przykład:
JVMDUMP039I Processing dump event "gpf", detail "" at 2012/09/20 17:37:30 - please wait.
JVMDUMP032I JVM requested System dump using 'core.20120920.173730.3960.0001.dmp' in response to an event
...
Komunikaty te są zazwyczaj następujące po komunikatach, które wskazują, że zrzut został zakończony pomyślnie:
JVMDUMP010I System dump written to core.20120920.173730.3960.0001.dmp
JVMDUMP013I Processed dump event "gpf", detail ""
Jeśli maszyna wirtualna czeka w nieskończoność po pierwszych dwóch komunikatach i nie zostanie utworzony żaden plik zrzutu, proces maszyny wirtualnej mógł zostać zawieszony. Ten problem może wystąpić wtedy, gdy awaria SIGSEGV lub GPF, która wyzwolila zrzut, wystąpiła w kodzie w jądrze systemu Linux . Kolejne wywołania systemu operacyjnego wykonane przez maszynę wirtualną w celu zainicjowania zrzutu systemowego powodują zawieszenie. Aby uzyskać plik zrzutu systemowego w tej sytuacji, można użyć następujących metod:
  1. Jeśli w instalacji systemu Linux jest zainstalowany program narzędziowy gcore , można uzyskać plik zrzutu systemowego, wpisując w wierszu komend następującą komendę: gcore -o <dump file name><pid>.
  2. Sygnał SIGABRT można wysłać do procesu za pomocą komendy kill -6 <pid> . To działanie kończy proces i wyzwala system operacyjny w celu utworzenia podstawowego pliku zrzutu. Alternatywy dla sygnału SIGABRT to SIGXCPU (kill -24 <pid>) i SIGSYS (kill -31 <pid>).
  3. Jeśli problem jest powtarzalny, należy użyć opcji -Xrs , aby wyłączyć procedury obsługi sygnału maszyny wirtualnej. Ta czynność pozwala uniknąć zawieszenia i umożliwia systemowi operacyjną tworzenie pliku zrzutu systemowego. Więcej informacji na ten temat zawiera sekcja Opcja -Xrs.