【问题标题】:Why eclipse does not open when I change the max heap size?为什么当我更改最大堆大小时 Eclipse 不打开?
【发布时间】:2012-08-04 03:31:15
【问题描述】:

我已经在 Eclipse 中安装了MAT 以及用于打开 IBM 格式堆转储的插件。
当我尝试使用 Eclipse 中的File->Open 打开堆转储时,我收到一个消息框错误消息:

在“从 'C:\UserData\heapdump.44124802.212242.6876.0003.phd' 解析堆转储”期间发生内部错误。 Java堆空间

我认为这是由于 Eclipse 中的最大堆大小造成的。目前eclipse.ini如下:

-启动插件/org.eclipse.equinox.launcher_1.1.1.R36x_v20101122_1400.jar
--launcher.library plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.2.R36x_v20101222

-产品 org.eclipse.epp.package.jee.product
--launcher.defaultAction 打开文件
--launcher.XXMaxPermSize 256M
-showsplash org.eclipse.platform
--launcher.XXMaxPermSize 256m
--launcher.defaultAction 打开文件
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx512m

如果我按如下方式更改内存部分:

-Xms40m
-Xmx1024m

然后eclipse甚至没有启动:

创建 Java 虚拟机失败

这里有什么问题?

【问题讨论】:

  • 机器上的内存是多少?
  • 您可以尝试删除这行--launcher.XXMaxPermSize 256m 这两行还是只留下--launcher.XXMaxPermSize 而没有256m
  • 这通常是由于机器内存不足。另请注意,在 32 位的 Windows XP 上,VM 只能使用接近 2GB 的 RAM,即包括堆、永久生成空间、DLL 加载等。试试这个如果可以的话,64 位机器有更多的 RAM。
  • @Strelok:文件只有 300MB。为什么 2GB RAM 太小了?
  • @Jim 好吧,不是 2GB。在您的情况下,512MB 是不够的。 2GB 可能就足够了,但您的机器似乎甚至无法分配 1GB,因为您可能没有足够的可用内存..

标签: java eclipse eclipse-plugin


【解决方案1】:

java -version 的命令行上使用Xms Xmx 值进行实验。如果您指定的那些值在那里工作,我怀疑PermGen 值需要以某种方式进行调整。如果没有,您的系统可能没有可用内存。

【讨论】:

    【解决方案2】:

    Java 需要连续的内存用于堆空间。尤其是 Windows,其可用内存的连续区域往往有限(如果其他程序正在运行,则该区域会更小)

    另外,一般建议:设置-Dosgi.requiredJavaVersion=1.6,而不是1.5.

    看看这些链接..

    1. Java maximum memory
    2. Why is the maximum size of the Java heap fixed?

    【讨论】:

      猜你喜欢
      • 2013-04-14
      • 2018-11-23
      • 2010-11-27
      • 2014-10-24
      • 2019-03-21
      • 2016-03-20
      • 1970-01-01
      • 2021-01-21
      • 2013-01-01
      相关资源
      最近更新 更多