我正在尝试设置我正在处理的服务器的JVM,因此它会在发生OOME时将堆转储到文件中.
我知道我必须在-XX:-HeapDumpOnOutOfMemoryError某处向JVM参数添加此选项,但我无法知道如何执行此操作.
仅供参考,我可以通过PuTTY访问服务器,所以我正在寻找一种命令行方式.
我使用的JVM是OpenJDK64-Bit Server VM.
我不知道这是否相关,但应用程序是一个war文件.
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
Run Code Online (Sandbox Code Playgroud)
编辑:
我找到了一些东西,如果我错了就纠正我:因为我使用的是Tomcat,所以我决定在tomcat.conf文件中添加这些行:
JAVA_OPTS = -XX:-HeapDumpOnOutOfMemoryError
JAVA_OPTS = -XX:HeapDumpPath = /根/转储
JAVA_OPTS = -Xmx20m
你怎么看 ?
小智 6
正如@CoolBeans所提到的,要使用的JVM选项是:
-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=<path to dump file>
Run Code Online (Sandbox Code Playgroud)
要在tomcat中进行设置,请在TOMCAT_HOME/bin目录下创建名为setenv.sh(setenv.bat for windows)的文件并添加以下行
export CATALINA_OPTS="$CATALINA_OPTS -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=<path to dump file>"
Run Code Online (Sandbox Code Playgroud)
CATALINA_OPTS是这类选项的首选,因为它们不需要应用于关闭过程.
| 归档时间: |
|
| 查看次数: |
31460 次 |
| 最近记录: |