12

次のパラメーターを使用して Java VM を起動するとします。

-Xms1024m -Xmx1024m -XX:PermSize=512m -XX:MaxPermSize=512m

512m PermGen スペースは 1024m メモリに追加されますか、それともその一部ですか? つまり、総メモリ消費量は 1536m ですか、それとも 1024m ですか? 後者の場合、アプリケーションには PermGen スペース以外の目的で 512m しかないということですか?

この質問で PermGen スペースの理解不足が明らかになった場合はお知らせください。;-)

4

3 に答える 3

16

およびパラメータはヒープ-Xmsメモリを参照しますが、PermGen スペースは別のメモリ プールです。-Xmx

つまり、Java アプリケーションで使用できる合計メモリ サイズは 1 GiB ではなく 1.5 GiB になり、ヒープ割り当てオブジェクト用にギガバイトのスペースをすべて取得できます。

于 2010-11-19T09:58:11.430 に答える
0

Sun の JVM では、永続世代はヒープの一部ではありません。これは、クラス定義と関連データ、およびインターンされた文字列が存在する場所のための別のスペースです。

于 2013-07-30T13:39:53.673 に答える