Mac OS XでJavaの最大メモリサイズ「ヒープ」を変更しようとしています。「-XX:MaxPermSize」を変更するために多くの場所を読みましたが、ファイルが見つからず、その設定をどこで変更するかを知っている。
このパラメータを使用して、Java VMに使用可能なメモリを設定できます。
-Xms64m -Xmx200m
-Xmsは最小メモリを指定します。 -Xmx最大のもの。
アプリを実行するときにそれらを指定する必要があります。たとえば、app.jarという名前のjarの場合、次のように入力して実行できます。
Java -Xms64m -Xmx512m -jar app.jar
32ビットのマシンでは、1Gbを超えるJVMを与えることはできないと思います。
私はWEKAを使用していて、同じ問題が発生しました。ここで、私は解決策を見つけました、そしてそれは簡単でした。
アプリケーションに移動==>特定のアプリケーション(Wekaなど)を左クリック==>パッケージのコンテンツを表示==>コンテンツ==> Info.Plist ==> Java ==> VMOptions ==>必要に応じてメモリのサイズを増やします(私のMacではデフォルトは1 Gbでしたが、6 Gbに増加しました)
ターミナルで非常に大きな配列を使用してJavaプログラムを実行しようとしました。メモリが不足し続けましたが、スレッドごとに許可されるメモリを増やすことで問題を修正しました:
$ Java -Xss12G name
ここで-Xss12G
はJavaランタイムにスレッドごとに12Gbを割り当ててからname
を実行するように指示します。同様に-Xss4G
は、スレッドごとに4Gbを使用します。 $
はTerminal
コンソールプロンプトであり、おそらくフォルダーと名前が表示されます。
注:スレッドを使用していない場合は、現在のプログラムまたは実行中のメインスレッドに使用するメモリを割り当てます。
コマンドJava -X
ターミナルでは、ヒープとスレッドメモリの割り当てに関する詳細が表示されます。
$ Java -X
最大ヒープサイズは-Xmx
スイッチを使用して設定されます。
-XX:MaxPermSizeは、総ヒープのサブセットであるパーマ生成の最大サイズを指定するために使用されます