帮助设置Java VM大小

时间:2009-09-01 03:47:39

标签: java eclipse

我是Java的新手,无法理解我应该如何设置虚拟机的大小。我已经构建了一个显示图像的小型Web小程序。有时图像可能非常大,当发生这种情况时,我得到:

*Exception in thread "Image Fetcher 0" java.lang.OutOfMemoryError: Java heap space*

我一直在尝试按照我在互联网上找到的不同说明,最后使用以下命令行创建了Eclipse的快捷方式:

"C:\Documents and Settings\Dror Well\Desktop\temp\Eclipse\eclipse\eclipse\eclipse.exe" 
 -vmargs -vm "C:\Program Files\Java\jdk1.6.0_14\bin" 
 \"C:\Program Files\Java\jre6\bin\javaw.exe" -Xms256m -Xmx1024m

我错过了什么?该怎么做?

4 个答案:

答案 0 :(得分:5)

在该行中,您已将VM args设置为Eclipse运行的Java进程。您需要为应用程序执行的操作是为您的应用程序设置-Xmx512m(或者您想要的大小)正在跑步。您可以从“运行”对话框中执行此操作。

从“运行”菜单中,选择“打开运行对话框”。在那里,您应该在左侧看到一个程序列表。如果您已经运行过一次,那么您的应用程序应该列在Java Applications节点中。选择它,然后在右侧面板上转到“参数”选项卡。将有一个VM Arguments文本框。在那里输入您的-Xmx arg。

答案 1 :(得分:0)

参数应传递给运行应用程序的JVM,而不是运行Eclipse的JVM。尝试查看Eclipse中的调试设置,应该有一些地方放置-Xmx和-Xms参数。

答案 2 :(得分:0)

由于图像可能非常大,您应该查看以下备选方案:

  1. 为将由Eclipse(而不是Eclipse本身)启动的Java可执行文件分配更多内存。这可以通过用于在Eclipse中运行应用程序的the VM arguments for the runtime configuration来完成。
  2. 切换到并行垃圾收集器,为应用程序使用-XX:+ UseParallelGC标志(同样,这不适用于Eclipse)。如果长时间在内存中保留大对象,这将无济于事。

答案 3 :(得分:-1)

对于Eclipse,您需要更新eclipse.ini文件以设置任何JVM属性。有关文件位置以及如何更新文件的详细信息this link