相关疑难解决方法(0)

如何增加JVM的堆大小

可能重复:
如何增加JVM内存?

我收到以下错误:

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
        at SQLite.Vm.step(Native Method)
        at SQLite.Database.get_table(Database.java:314)
        at SQLite.JDBC2z.JDBCStatement.executeQuery(JDBCStatement.java:120)
        at SQLite.JDBC2z.JDBCStatement.executeQuery(JDBCStatement.java:168)
        at TestData.readData(TestData.java:21)
        at TestData.main(TestData.java:41)
Run Code Online (Sandbox Code Playgroud)

java

45
推荐指数
5
解决办法
35万
查看次数

在抛出OutOfMemoryError时将JVM设置为转储堆

我正在尝试设置我正在处理的服务器的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

你怎么看 ?

java java-ee

8
推荐指数
2
解决办法
3万
查看次数

标签 统计

java ×2

java-ee ×1