2012-04-20 7 views
3

Netbeans 7.0.1を使って大規模なCSVファイルを解析して保存するために開発したJavaプログラムがあります。 CSVファイルのサイズのため、JVMのヒープサイズを増やす必要がありました。 7.0.1では、NetbeansのProject - > Properties - > VM Optionsの-Xmx4096m仕様を使用して、私のシステムで8GBの4GBを使用するようにヒープサイズを設定しました。それは7.0.1でうまくいきました。Netbeans 7.0.1と7.1間のJVMヒープサイズ割り当ての違いは?

今私は、NetBeans 7.1でそれを実行しようとしていると私は、私はこのエラーを取得するとき、私は、NetBeansのデフォルトから何も変わっていないしましたNetbeansの

Could not create the Java virtual machine. 
Invalid maximum heap size: -Xmx4096m 
The specified size exceeds the maximum representable size. 
Java Result: 1 

からの出力のために次のことを取得しています。

7.1でnetbeans.configファイルのヒープサイズを "ロック"していたと思います。

は、最初に私が試したこの:

私に与え
netbeans_default_options="-J-client -J-Xss2m -J-Xms32m -J-Xmx4906m -J-XX:PermSize=32m -J-Dapple.laf.useScreenMenuBar=true -J-Dapple.awt.graphics.UseQuartz=true -J-Dsun.java2d.noddraw=true -J-Dsun.zip.disableMemoryMapping=true" 

Netbeansのスプラッシュ画面でのJVMポップアップの作成に失敗しました。

は、その後、私はこれを試してみました:

netbeans_default_options="-J-client -J-Xss2m -J-Xms32m -J-XX:PermSize=32m -J-XX:MaxPermSize=4096m -J-Dapple.laf.useScreenMenuBar=true -J-Dapple.awt.graphics.UseQuartz=true -J-Dsun.java2d.noddraw=true -J-Dsun.zip.disableMemoryMapping=true" 

Netbeansのは、ロードバーは、すべての道に行くだろうとしてより良い好きでいるようだ「モジュールのロードを完了します。」しかしそれはちょうどスプラッシュ画面にハングアップします。私はそれを殺す前に5分間そこにぶら下げさせた。

これは私がまだ7.0.1では正常に動作させることができるので、これはショーストッパーではありませんが、誰かがこれに対する解決策を持っているかどうか疑問に思っていました。それは簡単な修正でなければならないようですが、私は何かを見落としていますか?

お時間をいただきありがとうございます。

答えて

2

Netbeansを32ビットjava.exeでインストールしたようです。netbeans.confをC:¥Program Files(x86)¥NetBeans 7.1¥etc¥またはC:¥Program Files¥NetBeans 7.1¥に編集してください。 ETC \ とそれが言うことを確認してください(あなたが実際に使用する予定のバージョンでjdk1.7.0_03置き換え):

... 
# Default location of JDK, can be overridden by using --jdkhome <dir>: 
netbeans_jdkhome="C:\Program Files\Java\jdk1.7.0_03" 
... 

なく

... 
# Default location of JDK, can be overridden by using --jdkhome <dir>: 
netbeans_jdkhome="C:\Program Files (x86)\Java\jdk1.7.0_03" 
... 

ノート "(x86の)" というWindowsで32ビットを意味するか、プロジェクトを編集して64ビットJVMを選択するだけです。 Tools-> Java Platformsに64ビットJVMを追加する必要があります。もちろん、Windowsを使用していない場合は、仕様は異なりますが、それでも32ビットと64ビットの両方の問題になります。

この状況は、通常、新しいJVMを使用したいが、誤って64ビットの代わりに32ビットのバージョンをインストールしたときに発生します。また、NetBeans自体が32ビットJVMで動作している間に64ビットJVMで実行/デバッグするようにプロジェクトを設定することができます。したがって、netbeans.confを修正して4GBを割り当てられるようにする必要はありません。要約すると

  1. >は、64ビットJDKが必ずあなたの64ビットJDKがあなたのプロジェクト - を確認してくださいNetBeansの
  2. であなたのJavaプラットフォームに記載されているされていることを確認し
  3. をインストールされていることを確認してくださいProperties-> Libraries-> Java Platformは、使用する64ビットJDKに設定されています。
+0

あなたは私を解決策に変えました。私は7.0.1をJava 7のJDKに向けてインストールしました。開発中は、プロジェクトプロパティを使用してJDK 6に戻りました。私は7.0.1などの/ netbeans.confファイルを調べて調べなければなりませんでしたが、7.1をインストールしたとき、私の脳は「あなたが使っていたことからjdk 6を指している」と思っていました。私のプロジェクトでは1.6を使っていましたが、私の7.0.1(作業中)は1.7を指していました。 – babcoccl

関連する問題