虽然有足够的内存

时间:2015-10-08 08:44:28

标签: java eclipse

我的Eclipse(或更具体的Spring Tool Suite)版本是:

Version: 3.6.3.RELEASE
Build Id: 201411281415
Platform: Eclipse Luna SR1 (4.4.1)

它工作正常,直到最近,当我打开Eclipse后开始出现以下错误:

Error: Could not create the Java Virtual Machine
Error: A fatal exception occured. Program will exit.

我的启动选项包括-vm <path to javaw> -vmargs -Xmx1024m -XX:MaxPermSize=256m,我在64位Windows上使用32位版本的jdk1.7.0_79。

我发现,当将-Xmx设置为768m时,Eclipse将在大部分时间启动。我还注意到,当我安装MySQL服务时,启动eclipse开始失败;如果我停用它,任务管理器会告诉我我消耗了大约4gb的16GB RAM;在MySQL运行时,该值增加到5GB。

当消耗5gb且剩余大约11gb的RAM时,原因是什么,没有JDK可以创建,是否有已知的解决方法?

2 个答案:

答案 0 :(得分:2)

可能是因为缺少虚拟地址空间。请记住,32位进程只有2GB的虚拟空间,这需要:

  • 应用程序代码
  • DLL,包括应用程序DLL和共享DLL,如钩子
  • java off-heap需求:代码缓存,缓冲区等。
  • java heap own

因此,物理RAM是无关的。

可能发生了什么?

Eclipse变得越来越重,因此JVM需要更多的堆外功能

你可以做什么?

卸载不需要的插件,关闭可能干预Eclipse的防病毒软件或其他软件,使用64位java。 64位应用程序在现代处理器上更快+ 64位Java使用compressedOps因此它可能有意义。

答案 1 :(得分:0)

过去我有类似问题,但没有解决方案。我用-Xmx1500m达到了极限。

另见Maximum Java heap size of a 32-bit JVM on a 64-bit OS

使用64位版本的JDK没有选项吗?