[英]How do I properly set the permgen size?
我有這個帶有tomcat,java和grails的VM。 我一直在獲得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:
您必須更改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"
視窗:
打開或創建放置在“ bin”目錄中的setenv.bat
文件:
set CATALINA_OPTS=-server -Xms256m -Xmx1024m -XX:PermSize=512m -XX:MaxPermSize=512m
不要將環境配置放在catalina.bat / catalina.sh中。 相反,您應該在CATALINA_BASE \\ bin \\ setenv.bat中創建一個新文件,以使您的自定義項與tomcat安裝區分開。
因此,您在做關於“ -XX:MaxPermSize = 512m”的事情是正確的:這確實是正確的語法。 您可以嘗試將這些選項直接設置為Catalyna服務器文件,以便在服務器啟動時使用它們。
也許這篇文章會對您有所幫助!
從Java 8 +完全刪除
從Java 7中部分刪除(例如,內部字符串)
資源
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.