0

私は持っている:

  1. 64ビットウィン7
  2. 64 ビット JROCKIT 1.6
  3. 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.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次に、eclipse.ini に次のように引数を導入しました。

-vm
D:\Java\jrockit-jdk1.6.0_26-R28.1.4-4.0.1\jre\bin\jrockit\jvm.dll

(前に-vmargs)それは言います:

JNI 共有ライブラリのロードに失敗しました。

何をすべきか?Eclipse のヒープ サイズを増やす方法は?

4

1 に答える 1

3

あなたの主張に反して、Eclipse の 32 ビット バージョンがあります。eclipse.ini ファイルの org.eclipse.equinox.launcher 参照でわかります。64 ビットの Eclipse では、このファイルの名前は「win32.x86...」ではなく「...win32.x86_64...」になります。

Eclipse にはネイティブ コンポーネントがあるため、32 ビット Eclipse で 32 ビット JVM を使用する必要があります。インストール内の Eclipse ネイティブ コンポーネントが 64 ビット JVM と互換性がないため、64 ビット JVM を強制的に使用しようとすると、「JNI 共有ライブラリの読み込みに失敗しました」という問題が発生します。

インストールでヒープを増やすことができるという点では...ヒープを2048mに増やすことができる可能性はほとんどありません。起動時に、JVM は最大ヒープ サイズに基づいて連続したメモリ ブロックを予約しようとします。32 ビットのアドレス空間は合計 4G ですが、さまざまな場所でメモリに固定されたさまざまなシステム DLL によって分割されています。最大連続メモリはシステムによって異なりますが、連続した 2048m ブロックを見つけることは非常にまれです。

私はこれについて 100% 肯定的ではありませんが、Jrockit には連続したメモリ要件がないことを聞きました。その場合、試みているように Jrockit に切り替えることで問題を解決できる場合がありますが、32 ビット バージョンの Jrockit をインストールする必要があります。

もちろん、64 ビット バージョンの Eclipse に移行するのがさらに良い解決策です。Eclipse のインストールは OSB インストーラーから行われたようです。これらは 32 ビット版でのみ利用可能ですが、OSB インストーラーは、Oracle Enterprise Pack for Eclipse (OEPE) を含む既存の Eclipse インストールへの OSB プラグインのインストールをサポートしていると思います。OEPE にはビルド済みの 64 ビット Eclipse キットが用意されていますが、OSB プラグインに必要な Eclipse と OEPE のバージョンを決定する必要があります (特定の 1 つのバージョンになります)。

幸運を。

更新:他のことを思い出しました...メモリ管理がこれら 2 つのエントリ ポイント間で異なるため、jvm.dll の代わりに javaw.exe を使用すると、より高い Xmx 設定で実行する方が簡単な場合があります。これを試すには、32 ビット JVM の javaw.exe へのパスを見つけて、質問で別の jvm.dll を指定しようとしているのと同じように -vm スイッチで指定します。

于 2012-06-20T17:40:53.700 に答える