我正在运行java开发人员IDE并且在解决模块问题的过程中。为此,我增加了工具的日志记录内存,现在当记录它时,错误将在控制台上显示为
Uncaught exception
java.lang.OutOfMemoryError: Java heap space
我正在使用以下命令来增加内存
"-XX:CompileThreshold=8000 -XX:PermSize=192m -XX:MaxPermSize=2g -Xms2g -Xmx2g"
早些时候
"-XX:CompileThreshold=8000 -XX:PermSize=192m -XX:MaxPermSize=1024m -Xms1024m -Xmx1024m"
我的系统内存是通过命令cat / proc / meminfo 16 GB 但是异常时系统可用内存小于1 GB
Uncaught exception
java.lang.OutOfMemoryError: Java heap space
即将到来,我已经分配了最大内存用作2gb
-XX:MaxPermSize=2g
但它占据了大约所有可用内存。
不知道这个命令是否有帮助是否可以分配更多内存,如下面的命令
"-XX:CompileThreshold=8000 -XX:PermSize=192m -XX:MaxPermSize=10g -Xms10g -Xmx10g"
将它增加到10g是好还是不好,或者我的命令有问题。
答案 0 :(得分:0)
使用-Xms1024m -Xmx1024m来控制堆大小(1024m仅用于演示,确切的数量取决于您的系统内存)。将最小和最大堆大小设置为相同通常是最佳实践,因为JVM不必在运行时增加堆大小