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:- 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>
. - 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>
). - 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.