我正在尝试运行一些.jar文件,但我收到了以下错误。系统有20 gb的ram,我的Xms和Xmx值是-Xms2048m -Xmx4096m
这些值是否太大或是否有其他因素导致此错误?
java.lang.OutOfMemoryError: Java heap space
编辑:
java -jar -Xms2048m -Xmx4096m /Filereadertest.jar
我正在使用java 1.7.51
Java HotSpot(TM)64位服务器VM
答案 0 :(得分:2)
这些值是否太大或是否有其他因素导致此错误?
服务器JVM的默认值是主内存的1/4或5 GB,因此通过设置它实际上降低最大值。
您可以将其设置为主内存的80%,例如-Xmx16G
答案 1 :(得分:0)
与JRE版本和体系结构一起,每个进程的堆空间也取决于正在使用的操作系统。
例如,Windows 32位允许每个进程最多2 GB内存,其中还包括堆栈,库和其他内容的大小。所以在实践中,我们通常会得到1.25 GB的内存。