4

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

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

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

-startup plugins/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

-product org.eclipse.epp.package.jee.product
--launcher.defaultAction openFile
--launcher.XXMaxPermSize 256M
-showsplash org.eclipse.platform
--launcher.XXMaxPermSize 256m
--launcher.defaultAction openFile
-vmargs
-Dosgi.requiredJavaVersion =1.5
-Xms40m
-Xmx512m

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

-Xms40m
-Xmx1024m

然后eclipse甚至没有启动:

创建 Java 虚拟机失败

这里有什么问题?

4

2 回答 2

0

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

另外,一般建议: Set -Dosgi.requiredJavaVersion=1.6,不1.5.

看看这些链接..

1 、 Java最大内存
2 、为什么Java堆的最大大小是固定的?

于 2012-08-07T06:54:12.423 回答
0

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

于 2012-08-07T06:38:29.650 回答