如何增加Eclipse的堆大小?
我有:如何增加Eclipse的堆大小?,eclipse,jvm,jvm-arguments,Eclipse,Jvm,Jvm Arguments,我有: 64位Win7 64位JROCKIT 1.6 64位日食 Eclipse.ini: -startup plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar --launcher.library plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.1.R36x_v20100810 -showsplash org.eclipse.platform --launcher.d
-startup
plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.1.R36x_v20100810
-showsplash
org.eclipse.platform
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
512m
-vmargs
-Xms512m
-Xmx1024m
-Xmn256m
-XX:MaxPermSize=512m
-XX:GCTimeRatio=2
-XX:ParallelGCThreads=8
-XX:+UseParNewGC
-XX:MaxGCPauseMillis=2000
-XX:+DisableExplicitGC
-Dsun.lang.ClassLoader.allowArraySyntax=true
-Dweblogic.home=D:\Oracle\Middleware10.3.4\wlserver_10.3
-Dharvester.home=D:\Oracle\Middleware10.3.4\Oracle_OSB1\harvester
-Dosb.home=D:\Oracle\Middleware10.3.4\Oracle_OSB1
-Dosgi.bundlefile.limit=750
-Dosgi.nl=en_US
我想增加堆大小,但当我将-Xmx1024m
增加到-Xmx2048m
它说:
未能创建Java虚拟机
然后,我再次将-vm
参数作为
-vm
D:\Java\jrockit-jdk1.6.0_26-R28.1.4-4.0.1\jre\bin\jrockit\jvm.dll
(在-vmargs
之前)它说:
未能加载JNI共享库
怎么办?如何增加Eclipse的堆大小?与您的断言相反,您有一个32位版本的Eclipse。我可以通过eclipse.ini文件中的org.eclipse.equinox.launcher引用来判断。64位eclipse将此文件命名为“…win32.x86_64…”,而不是“win32.x86…” 由于Eclipse具有本机组件,因此必须使用32位JVM和32位Eclipse。在尝试强制使用64位JVM时,您会看到“加载JNI共享库失败”问题,因为安装中的Eclipse本机组件与64位JVM不兼容 就能够增加安装中的堆而言。。。您不太可能将堆增加到2048m。启动时,JVM尝试根据最大堆大小保留连续内存块。32位地址空间总共是4G,但它被固定在不同位置的内存中的各种系统DLL所分割。最大连续内存会因系统而异,但找到连续的2048m块是非常罕见的 我不是100%肯定这一点,但我听说Jrockit没有连续内存需求。如果是这样的话,您可以像尝试一样切换到Jrockit来解决问题,但您需要安装32位版本的Jrockit 当然,更好的解决方案是迁移到64位版本的Eclipse。看起来您的Eclipse安装程序来自OSB安装程序。这些只有32位版本,但我相信OSB安装程序支持将OSB插件安装到包含Oracle Enterprise Pack for Eclipse(OEPE)的现有Eclipse安装中。OEPE已经预先构建了64位Eclipse工具包,但是您需要确定OSB插件需要哪个版本的Eclipse和OEPE(它将是一个特定的版本) 祝你好运
更新:刚刚想起了其他事情。。。有时,如果使用javaw.exe而不是jvm.dll,则更容易使用更高的Xmx设置运行,因为这两个入口点之间的内存管理不同。要尝试此操作,请找到32位JVM的javaw.exe的路径,并通过-vm开关指定它,就像您试图在问题中指定另一个JVM.dll一样。与您的断言相反,您有一个32位版本的Eclipse。我可以通过eclipse.ini文件中的org.eclipse.equinox.launcher引用来判断。64位eclipse将此文件命名为“…win32.x86_64…”,而不是“win32.x86…” 由于Eclipse具有本机组件,因此必须使用32位JVM和32位Eclipse。在尝试强制使用64位JVM时,您会看到“加载JNI共享库失败”问题,因为安装中的Eclipse本机组件与64位JVM不兼容 就能够增加安装中的堆而言。。。您不太可能将堆增加到2048m。启动时,JVM尝试根据最大堆大小保留连续内存块。32位地址空间总共是4G,但它被固定在不同位置的内存中的各种系统DLL所分割。最大连续内存会因系统而异,但找到连续的2048m块是非常罕见的 我不是100%肯定这一点,但我听说Jrockit没有连续内存需求。如果是这样的话,您可以像尝试一样切换到Jrockit来解决问题,但您需要安装32位版本的Jrockit 当然,更好的解决方案是迁移到64位版本的Eclipse。看起来您的Eclipse安装程序来自OSB安装程序。这些只有32位版本,但我相信OSB安装程序支持将OSB插件安装到包含Oracle Enterprise Pack for Eclipse(OEPE)的现有Eclipse安装中。OEPE已经预先构建了64位Eclipse工具包,但是您需要确定OSB插件需要哪个版本的Eclipse和OEPE(它将是一个特定的版本) 祝你好运 更新:刚刚想起了其他事情。。。有时,如果使用javaw.exe而不是jvm.dll,则更容易使用更高的Xmx设置运行,因为这两个入口点之间的内存管理不同。要尝试此操作,请找到32位JVM的javaw.exe的路径,并通过-vm开关指定它,就像您试图在问题中指定另一个JVM.dll一样。谢谢,我有“_64”,但不知怎的,它不在我的ini中。我再次解压&它现在正在使用3g的heap。另外,我必须指定
jvm.dll
,因为引用javaw.exe
不起作用,它一直在请求JNI库。谢谢,我有“_64”,但不知怎么的,它不在我的ini中。我再次解压&它现在正在使用3g的heap。另外,我必须指定jvm.dll
,因为引用javaw.exe
不起作用,它一直要求使用JNI库。