Defina uma JVM para despejar heap quando OutOfMemoryError for lançado
Estou tentando definir a JVM do servidor em que estou trabalhando, para que ele despeje um monte de arquivos quando ocorrer um OOM
Sei que tenho que adicionar esta opção-XX:-HeapDumpOnOutOfMemoryError
para os argumentos da JVM em algum lugar, mas não consigo descobrir como fazer iss
FYI, posso acessar o servidor através do PuTTY, por isso estou procurando uma maneira de fazer isso pela linha de comand
A JVM que estou usando é a VM do servidor OpenJDK64-Bi
Não sei se isso é relevante, mas o aplicativo é um arquivo de guerr
PS : ps -ef|grep java
tomcat 23837 1 0 Mar25 ? 00:03:46 /usr/lib/jvm/jre/bin/java -classpath :/usr/share/tomcat6/bin/bootstrap.jar:/usr/share/tomcat6/bin/tomcat-juli.jar:/usr/share/java/commons-daemon.jar -Dcatalina.base=/usr/share/tomcat6 -Dcatalina.home=/usr/share/tomcat6 -Djava.endorsed.dirs= -Djava.io.tmpdir=/var/cache/tomcat6/temp -Djava.util.logging.config.file=/usr/share/tomcat6/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager org.apache.catalina.startup.Bootstrap start
EDIT:
Encontrei alguma coisa, me corrija se estiver errado: como estou usando o Tomcat, decidi adicionar essas linhas no arquivo tomcat.conf:
JAVA_OPTS = -XX: -HeapDumpOnOutOfMemoryError
JAVA_OPTS = -XX: HeapDumpPath = / root / dump
JAVA_OPTS = -Xmx20m
O que você acha