通过“-XX:PermSize = 192m -XX:MaxPermSize = 2g -Xms2g -Xmx2g”在linux中通过终端增加内存

时间:2016-09-26 11:20:02

标签: java linux memory memory-management

我正在运行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是好还是不好,或者我的命令有问题。

1 个答案:

答案 0 :(得分:0)

使用-Xms1024m -Xmx1024m来控制堆大小(1024m仅用于演示,确切的数量取决于您的系统内存)。将最小和最大堆大小设置为相同通常是最佳实践,因为JVM不必在运行时增加堆大小