Estoy depurando una pérdida de memoria en una aplicación que se ejecuta en Sun's JDK 1.4.2_18. Parece que esta versión es compatible con la línea de comandos param -XX: + HeapDumpOnCtrlBreak que supuestamente hace que la JVM descargue Heap cuando encuentra un control-break. ¿Cómo se envía esto a un proceso en segundo plano en una caja Linux? Parece que las señales de muerte son la forma en que esto debería funcionar, pero mato -l no informa nada que obviamente sea un Ctrl-Break, al menos en mi cuadro de Ubuntu.¿Cómo se puede enviar un Ctrl-Break a un proceso Linux en ejecución?
Actualización: Probé Kill -3 con Sun JDK 1.4.2_18 (_14 fue el primero en volcar el montón de esta manera), y funcionó. Se creó un archivo de volcado de almacenamiento dinámico y el proceso aún se estaba ejecutando.
No tengo un linux box con un jvm que admita la opción -XX: + HeapDumpOnCtrlBreak, así que no puedo probar esto (y nunca lo he hecho así no puedo garantizar que funcione). – bm212
Prefiero ver una sugerencia de "kill -QUIT" que "kill -3", aunque sean equivalentes. – ephemient
Lo he editado para decir kill -QUIT. – bm212