web-dev-qa-db-ja.com

permgenサイズを適切に設定するにはどうすればよいですか?

このVMにはTomcat、Java、およびgrailsが含まれています。 permgenエラーが発生しているので、周りを見回して解決策を見つけました。

set Java_OPTS="-Xms256m -Xmx1024m -XX:PermSize=512m -XX:MaxPermSize=512m"

SSHを使用してvmにアクセスし、上記の引数を入力します。これで問題が解決すると思います。事は、私がそれを正しくしたことを確認したかったです。そこで、現在のpermSizeを確認する方法を再度検索しました。これが解決策です。

jinfo -flag MaxPermSize 6444

6444はPIDであり、応答として、これを取得しました。

-XX:MaxPermSize=85983232

質問:maxPermSizeの値はバイト単位ですか?もしそうなら、それはJava_optsコマンドが機能しなかったことを意味するからです。 512mになると予想していますが、85983232バイト= 82 mbです。または、間違っているのがわかります。誰かがこれについて私を啓発できますか? D:

61
황현정

Tomcat Catalina開始ファイルで定義されているCATALINA_OPTSオプションの値を変更する必要があります。 PermGenメモリを増やすには、MaxPermSize変数の値を変更します。それ以外の場合は、Xmx変数の値を変更します。

Linux&Mac OS:「bin」ディレクトリにあるsetenv.shファイルを開くか作成します。この行に変更を適用する必要があります。

export CATALINA_OPTS="$CATALINA_OPTS -server -Xms256m -Xmx1024m -XX:PermSize=512m -XX:MaxPermSize=512m"

Windows:

「bin」ディレクトリに配置されたsetenv.batファイルを開くか作成します。

set CATALINA_OPTS=-server -Xms256m -Xmx1024m -XX:PermSize=512m -XX:MaxPermSize=512m
75
amicngh

環境設定をcatalina.bat/catalina.shに置かないでください。代わりに、CATALINA_BASE\bin\setenv.batに新しいファイルを作成して、Tomcatインストールとは別にカスタマイズする必要があります。

21
matabares

あなたは「-XX:MaxPermSize = 512m」に関して正しいことをしています:それは確かに正しい構文です。これらのオプションをCatalynaサーバーファイルに直接設定して、サーバーの起動時に使用されるようにすることができます。

たぶん、この投稿はあなたを助けるでしょう!

Tomcat6がWindowsでCATALINA_OPTSを読み取ることを確認する方法?

1
Loic O.