Eclipse不会增加.ini中指定的VM堆大小

时间:2015-12-14 05:14:06

标签: java eclipse

有人可以帮我解决这个问题。我只是无法让VM增加到超过1.8GB或某些原因。在Eclipse中运行时,此实用程序返回64和1883242496,但从命令行(java.exe)运行时返回正确的值。 VM是64位,因此应该超过1.8 GB。

 public static void main(String[] args) {
        System.out.println(System.getProperty("sun.arch.data.model"));
        System.out.println(java.lang.Runtime.getRuntime().maxMemory());
    }

下面的Eclipse.ini内容。几乎尝试过所有事情。

-startup    
plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar

--launcher.library    
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.300.v20150602-1417
-product
org.eclipse.epp.package.java.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
512M    
org.eclipse.epp.package.java.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
512M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vm
C:\Program Files\Java\jdk1.8.0_66\bin\javaw.exe
-vmargs
-Dosgi.requiredJavaVersion=1.8
-Xms6144m
-Xmx6144m
-d64

提前致谢

4 个答案:

答案 0 :(得分:2)

eclipse.ini中的配置设置了Eclipse本身使用的内存,它不会改变从Eclipse中运行程序时使用的内存。

您可以通过打开'运行>更改特定程序的设置运行配置'并在“Java应用程序”中选择您的程序。部分并将您的参数添加到' VM参数'。 enter image description here

您也可以设置默认值,如另一个答案所示。

答案 1 :(得分:1)

即使将两者都设置为相同的堆大小6144m

-Dosgi.requiredJavaVersion = 1.7 -Xmx6144m -Xmx6144m

eclipse.ini中的

不会增加64坐标的堆大小,而是通过使用windows传递JVM参数 - >我们可以增加堆大小

enter image description here

enter image description here

答案 2 :(得分:0)

你可以试试这个:

-startup
plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.300.v20150602-1417
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
6144m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.8
-Xms6144m
-Xmx6144m
-XX:+UseParallelGC
-XX:PermSize=6144M
-XX:MaxPermSize=6144M
-d64

希望它会有所帮助。

答案 3 :(得分:0)

我最近在Eclipse程序中加载项目时遇到问题。 该错误与垃圾回收(GC)有关。

当在线搜索解决方案时,我注意到这是由于内存分配。 您可能知道,在Eclipse中,ini文件可用于分配分配给程序的最小和最大内存。

-Xms  Initial memory size 
-Xmx  maximum memory size

–Xmx的值更改为更高的值2048m时,我希望程序可以毫无问题地加载所有项目。 但是,我可以看到相同的错误。

当我进一步研究时,发现系统变量_JAVA_OPTIONS的值为-Xmx512M。这已经覆盖了ini文件中的值。

反思:
当程序未反映ini文件中的值时,还值得研究系统变量。