在尝试增加jvm内存时,是否可以将Xmx设置为最大值?
有最大的 大小你可以设置Xmx? 我把它设置为1024米和日食开放确定。 当我把它设置为1024以上,eclipse不打开,我得到错误“jvm终止。退出代码= -1”…
我这样做是因为我不断收到“java.lang.OutOfMemoryError:Java堆空间”。 我正在阅读一个35.5Mb .txt文件,并且在使用“ while((line = reader.readLine()) != null)
”循环读取文件时发生此错误。 我本以为1024MB就足够了。 谁能帮我?
是的,有一个最大值,但它是依赖于系统的。 尝试一下,看看,加倍,直到你达到极限,然后search下来。 至less在Linux上的Sun JRE 1.6中,如果不是总是提供有用的错误信息(peregrino是上网本运行32位ubuntu,2G内存且不交换)
peregrino:$ java -Xmx4096M -cp bin WheelPrimes Invalid maximum heap size: -Xmx4096M The specified size exceeds the maximum representable size. Could not create the Java virtual machine. peregrino:$ java -Xmx4095M -cp bin WheelPrimes Error occurred during initialization of VM Incompatible minimum and maximum heap sizes specified peregrino:$ java -Xmx4092M -cp bin WheelPrimes Error occurred during initialization of VM The size of the object heap + VM data exceeds the maximum representable size peregrino:$ java -Xmx4000M -cp bin WheelPrimes Error occurred during initialization of VM Could not reserve enough space for object heap Could not create the Java virtual machine. (experiment reducing from 4000M until) peregrino:$ java -Xmx2686M -cp bin WheelPrimes (normal execution)
除了-Xmx4095M这个比较奇怪(可能是签名/未签名的比较?),大部分都是自我解释的,它宣称在一个没有交换的2GB机器上保留2686M。 但是,如果操作系统允许你解决这个问题,那么它的确提示最大尺寸是4G而不是2G,对于一个32位的虚拟机来说。
我认为一个32位的JVM最多有2GB的内存。但这可能已经过时了。 如果我理解正确的话,可以在Eclipse启动器上设置-Xmx。 如果要增加从Eclipse运行的程序的内存,应该在“运行 – >运行configuration…”中select-Xmx(select您的类并打开“参数”选项卡,将其放入VM参数区域)菜单,而不是在Eclipse启动
编辑:你要求的细节。 在Eclipse 3.4中
-
运行 – >运行configuration…
-
如果您的类没有列在“Java应用程序”子树左侧的列表中,请单击左上angular的“新启动configuration”
-
在右边的“主”标签确保项目和课程是正确的
-
select右侧的“参数”选项卡。 这个有两个文本区域。 一个是获取提供给主方法的args []数组的程序参数。 另一个是VM的参数。 用VM参数(下一个iirc)放入下面这个:
-Xmx2048m我认为1024m应该足够用于你所需要的东西!
-
点击应用,然后点击运行
-
应该pipe用 :)
看看这个在设置java堆的一些常见错误。 您可能将堆大小设置为比计算机的物理内存更大的值。
你应该避免通过增加堆大小来解决这个问题。 相反,您应该对应用程序进行configuration,以查看您在哪里花费如此大的内存。
我认为它是2GB左右。 虽然Pete Kirkham的回答非常有趣,可能是真实的,但是我已经分配了3GB以上,但实际上并没有使用3GB。 这也许可以解释为什么你能够在没有交换空间的情况下在2GB RAM上分配2.5GB。 实际上,它并没有使用2.5GB。
- 在Eclipse中debuggingPython扩展
- Eclipse中您最喜欢的热键是什么?
- 使用Eclipse将debugging器附加到应用程序
- 在我的项目中使用android.support.v7.widget.CardView(Eclipse)
- 我们如何将Java程序控制台输出redirect到多个文件?
- 在这个环境中没有提供编译器。 也许你正在使用JRE而不是JDK?
- 在ubuntu上使用eclipse IDE创buildTomcat 6服务器
- 如何在Eclipse Java项目中自动生成.jar文件
- 为从Eclipse运行的所有JUnittesting指定自定义log4j.properties文件