3

数日前java.lang.OutOfMemoryError: Java heap space、コードを実行したり、パスに何かを追加したりする前に、MATLAB の起動時に例外が発生し始めました。MATLAB がロードする既定のディレクトリにも、ファイルはありません。

Windows 7 64 ビットで MATLAB R2012a を実行しています。

何が原因でしょうか?

4

3 に答える 3

1

provideを使用してアプリケーションを起動しますjava -Xmx -Xms option -

-Xmx <number> : max memory allocation to app
-Xms <number> : Min memory at startup
于 2013-02-25T12:06:35.043 に答える
1

-Xmx最近のバージョンの Matlab でパラメーターを設定するには、 [設定] (ツールバー/リボン) に移動してから、

MATLAB > General > Java Heap Memory

そこにスライダーがあります。これを有効にするには、Matlab を再起動する必要があります。

ただし、警告があります。

注: Java ヒープ サイズを大きくすると、データを配列に格納するために使用できるメモリの量が減少します。

これは、Matlab が配列を Java ヒープ空間に格納しないことを意味していると思います。しかし、上限を設定するだけであれば、これは問題になるでしょうか? 私はそうは思わない。より具体的には、上記のスライダーを 36 GB に設定するとどうなるかを見ると、Matlab が起動し、すぐにその仮想メモリ ( で表示top) が 39.9 GB になります。ただし、物理メモリの使用量は約 300 MB にすぎません。したがって、実際にそのヒープ領域に何かを配置しない限り、配列などで使用できる物理メモリが少なくなることはありません。したがって、この警告は無視できるようです。


ターミナルを介して Matlab に非グラフィカル アクセスしかない場合、上記のコマンドの効果は次の行を に追加すること~/.matlab/R2016a/matlab.prfであったため、代わりに手動でそれを行うことができます。

JavaMemHeapMax=I36532

この行は、スライダーを使用して設定を 36,532 MB に設定し、Matlab を終了した後に表示されました。matlab.prfファイルが見つからない場合は、こちらを確認してください。

于 2017-02-14T06:13:46.413 に答える
0

これを参照してくださいMATLAB 6.0 (R12) 以降のバージョンで Java VM のヒープ領域を増やすにはどうすればよいですか? EDIT は、ヒープの初期-Xmsサイズを設定します。これを変更しても、エラーには影響しません。使用するオプションは、ヒープの最大サイズを設定するものです。詳しくはこちらをご覧ください。java.lang.OutOfMemory-Xmx

于 2013-02-25T12:05:05.940 に答える