web-dev-qa-db-ja.com

Mac OS XでJavaの最大メモリヒープを変更する

Mac OS XでJavaの最大メモリサイズ「ヒープ」を変更しようとしています。「-XX:MaxPermSize」を変更するために多くの場所を読みましたが、ファイルが見つからず、その設定をどこで変更するかを知っている。

12
user1435853

このパラメータを使用して、Java VMに使用可能なメモリを設定できます。

-Xms64m -Xmx200m

-Xmsは最小メモリを指定します。 -Xmx最大のもの。

アプリを実行するときにそれらを指定する必要があります。たとえば、app.jarという名前のjarの場合、次のように入力して実行できます。

Java -Xms64m -Xmx512m -jar app.jar

32ビットのマシンでは、1Gbを超えるJVMを与えることはできないと思います。

12
smellyarmpits

私はWEKAを使用していて、同じ問題が発生しました。ここで、私は解決策を見つけました、そしてそれは簡単でした。

アプリケーションに移動==>特定のアプリケーション(Wekaなど)を左クリック==>パッケージのコンテンツを表示==>コンテンツ==> Info.Plist ==> Java ==> VMOptions ==>必要に応じてメモリのサイズを増やします(私のMacではデフォルトは1 Gbでしたが、6 Gbに増加しました)

8
Prem

ターミナルで非常に大きな配列を使用してJavaプログラムを実行しようとしました。メモリが不足し続けましたが、スレッドごとに許可されるメモリを増やすことで問題を修正しました:

$ Java -Xss12G name

ここで-Xss12GはJavaランタイムにスレッドごとに12Gbを割り当ててからnameを実行するように指示します。同様に-Xss4Gは、スレッドごとに4Gbを使用します。 $Terminalコンソールプロンプトであり、おそらくフォルダーと名前が表示されます。

注:スレッドを使用していない場合は、現在のプログラムまたは実行中のメインスレッドに使用するメモリを割り当てます。

コマンドJava -Xターミナルでは、ヒープとスレッドメモリの割り当てに関する詳細が表示されます。

$ Java -X
2

最大ヒープサイズは-Xmxスイッチを使用して設定されます。

-XX:MaxPermSizeは、総ヒープのサブセットであるパー​​マ生成の最大サイズを指定するために使用されます

2
Suraj Chandran