最近tomcat老是報錯,查看了日志出現PermGen 內存不夠用,重啟tomcat后查詢使用情況
通過啟動參數發現沒有設置?PermGen,繼續通過jmap查看
jmap -heap 21179
發現99%已使用,而且默認是30.5M,太小了,這里設置成256M
1. 創建`setenv.sh`文件
?
?在`/usr/local/tomcat/bin`目錄下創建一個新的`setenv.sh`文件。這個文件將被Tomcat的啟動和停止腳本(如`catalina.sh`)使用。
2. 編輯文件:
編輯`setenv.sh`文件,并添加以下內容:
JAVA_OPTS="$JAVA_OPTS -Xms512m -Xmx1024m -XX:PermSize=64M -XX:MaxPermSize=256m"
3. 給文件執行權限:
chmod +x setenv.sh
4. 重啟Tomcat:
?
重啟后可以通過jps -l或者ps -ef|grep java 來查看當前啟動的tomcat的PermSize
繼續通過jmap 可以查看詳細使用情況,如果是256M說明設置成功,PermSize代表初始的內存