Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> 關於 Linux

Tomcat 兩大經典 OOM 異常排查:PermGen space 與 redeploy 記憶體洩漏

編輯:關於 Linux

一、PermGen space 爆滿

成因:永久代儲存 Class/Meta 資訊,GC 不會在運行期清理。大量 JSP 預編譯或動態載入類別易導致滿溢。

解決:調大永久代:
-Xms256m -Xmx256m -XX:MaxNewSize=256m -XX:MaxPermSize=256m

二、redeploy 時 OutOfMemoryError

常見元凶:

  1. Proxool 內含舊版 cglib
  2. log4j 建議改用 commons-logging
  3. 專案引用舊版 cglib,升級至最新
  4. 升級 Hibernate 至 3.2+

結語

Tomcat OOM 多非容器本身問題,而是應用層類別載入過多或第三方庫版本過舊導致記憶體洩漏,精準升級元件即可根治。

Copyright © Windows教程網 All Rights Reserved