Come ottenere un dump di sistema quando la JVM (Java virtual machine) si blocca (soloLinux )

In determinate condizioni, il processo VM (Java virtual machine) può bloccarsi durante la produzione di un file di dump di sistema su Linux®. È possibile eseguire operazioni manuali per ottenere i dati.

L'errore può essere identificato dai messaggi emessi dalla VM, ad esempio:
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
...
Questi messaggi sono di solito seguiti dai seguenti messaggi, che indicano che il dump è stato completato correttamente:
JVMDUMP010I System dump written to core.20120920.173730.3960.0001.dmp
JVMDUMP013I Processed dump event "gpf", detail ""
Se la VM attende indefinitamente dopo i primi due messaggi e non viene prodotto alcun file di dump, il processo della VM potrebbe essersi bloccato. Questo problema può verificarsi se l'arresto anomalo SIGSEGV o GPF che ha attivato il dump si è verificato nel codice all'interno del kernel Linux . Le successive chiamate del sistema operativo effettuate dalla VM per avviare un dump di sistema causano il blocco. E'possibile utilizzare i seguenti metodi per ottenere un file di dump di sistema in questa situazione:
  1. Se l'installazione di Linux ha il programma di utilità gcore installato, è possibile ottenere un file di dump del sistema immettendo il seguente comando da un prompt dei comandi: gcore -o <dump file name><pid>.
  2. È possibile inviare il segnale SIGABRT al processo con il comando kill -6 <pid> . Questa azione termina il processo e attiva il sistema operativo per produrre un file core dump. Alternative al segnale SIGABRT sono SIGXCPU (kill -24 <pid>) e SIGSYS (kill -31 <pid>).
  3. Se il problema è ripetibile, utilizzare l'opzione -Xrs per disabilitare i gestori di segnale VM. Questa azione evita il blocco e consente al sistema operativo di produrre un file di dump del sistema. Per ulteriori informazioni, vedere Opzione -Xrs.