3

大きなCSVファイルを解析および保存するためにNetbeans7.0.1を使用して開発したJavaプログラムがあります。CSVファイルのサイズが原因で、JVMのヒープサイズを増やす必要がありました。7.0.1では、Netbeansの「プロジェクト」->「プロパティ」->「VMオプション」で-Xmx4096m仕様を使用して、システムで8GBのうち4GBを使用するようにヒープサイズを設定しました。7.0.1では正常に機能しました。

今、Netbeans 7.1で実行しようとしていますが、Netbeansからの出力として次の情報が表示されます。

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

このエラーが発生したとき、Netbeansのデフォルトから何も変更していません。

おそらく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でも問題なく実行できるので、これは私にとっては目立たないものですが、誰かがこれに対する解決策を持っているかどうか疑問に思っていました。簡単な修正のようですが、何かを見落としているだけですか?

御時間ありがとうございます。

4

1 に答える 1

2

32ビットのjava.exeを使用してNetBeansをインストールしたようです。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"
...

Windowsの「(x86)」は32ビットを意味するか、プロジェクトを編集して64ビットJVMを選択することに注意してください。64ビットJVMを[ツール]->[Javaプラットフォーム]に追加する必要がある場合があります。もちろん、Windowsを使用していない場合、詳細は異なりますが、それでも32ビットと64ビットの問題が発生します。

この状況は通常、誰かが新しいJVMを使用したいが、64ビットではなく32ビットバージョンを誤ってインストールした場合に発生します。また、注意:NetBeans自体が32ビットJVMで実行されているときに、64ビットJVMで実行/デバッグするようにプロジェクトを構成できるため、プロジェクトで4GBを割り当てることができるようにnetbeans.confを実際に変更する必要はありません。 。

要約すれば:

  1. 64ビットのJDKがインストールされていることを確認してください
  2. 64ビットJDKがNetBeansのJavaプラットフォームにリストされていることを確認してください
  3. プロジェクト->プロパティ->ライブラリ->Javaプラットフォームが使用する64ビットJDKに設定されていることを確認してください。
于 2012-04-20T18:10:54.290 に答える