虽然我正在使用JVM参数-Xms32768M -Xmx65536M
启动时最大堆大小仅为13.93GB(我用Runtime.getRuntime().maxMemory()
检查了它)
并且不会增长超过15GB。
当堆的大小超过15GB时,我的程序(它使用多线程)已经失效java.lang.OutOfMemoryError: Java heap space error
我的机器设置如下:
Ram:64GB, 操作系统:Ubuntu 14.04 64bit, Java版本:1.7.0_79
有谁能告诉我这是什么问题?
答案 0 :(得分:0)
我找到了忽略JVM参数的原因....
我在程序参数之后放了JVM参数。
(例如java -jar my_prog.jar -prog_arg1 -prog_arg2 -Xms32768 -Xmx65536)
这是我的错误,我可以通过将JVM参数放在程序参数之前来解决问题......