2010-03-09 14 views
5

estoy usando asant para ejecutar un archivo XML que apunta a un archivo NARS.jar.Dónde encontrar el volcado del montón después de una "memoria insuficiente"

que estoy recibiendo "java.lang.OutOfMemoryError: Java heap space" y estoy investigando en torno a este.

Así que he encontrado que necesito establecer "-XX: + HeapDumpOnOutOfMemoryError", para crear un archivo de volcado para analizar.

edité ASANT.bat y añade el "-XX: + HeapDumpOnOutOfMemoryError" a ANT_OPTS:

set ANT_OPTS= "-XX:+HeapDumpOnOutOfMemoryError" "-Dos.name=Windows_NT" "-Djava.library.path=%AS_INSTALL%\lib;%AS_ICU_LIB%;%AS_NSS%" "-Dcom.sun.aas.installRoot=%AS_INSTALL%" "-Dcom.sun.aas.instanceRoot=%AS_INSTALL%" "-Dcom.sun.aas.instanceName=server" "-Dcom.sun.aas.configRoot=%AS_CONFIG%" "-Dcom.sun.aas.processLauncher=SE" "-Dderby.root=%AS_DERBY_INSTALL%" 

Pero me parece que no puede encontrar ningún archivo de volcado. Usaré el Eclipse Memory Analyzer para analizar cuándo encuentro el volcado.

También intenté establecer la opción "-XX: HeapDumpPath = c: \ memdump \ bds.hprof", pero no se creó ningún volcado.

¿Alguien tiene una idea de lo que estoy haciendo mal? Gracias de antemano

+0

ejecutar Java 5 por cierto – Ikky

+0

Suena como se necesita más detalles sobre la cual * * proceso está teniendo el problema. – Pat

Respuesta

1

me di cuenta que podía utilizar VisualVM del sol para obtener un Heapdump, y verlo en directo.

solución fácil

-1

Umm ... ¿qué hay de donde java.io.tmpdir está señalando?

1

Está en el directorio de trabajo de la aplicación (es decir, donde se ha comenzado). No estoy seguro de qué sucede si el proceso no tiene los privilegios necesarios para hacerlo. Probablemente, escribir el volcado fallaría silenciosamente.

1

¿estás seguro de que ANT es el proceso con el OOME? Puede ser un proceso iniciado por ANT.

Agregar "-debug" a los ANT_OPTS para información de depuración.

¿Estás viendo los objetivos que se está imprimiendo a cabo durante la ejecución?

También puede bifurcar los diversos procesos iniciados por la hormiga (se ralentizar las cosas, pero puede ayudar a aislar el culpable)

Por último, tal vez sólo necesita más memoria que el valor predeterminado. Añadir:

-Xms256m -Xmx512m -XX:PermSize=64m -XX:MaxPermSize=256m 

a los ANT_OPTS

+0

Gracias por las buenas sugerencias, pero ninguno de ellos ayudó. También traté de configurar fork = "yes" en el archivo xml, pero eso no ayudó. – Ikky

Cuestiones relacionadas