首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 綜合教學

MyEclipse 內存溢出雙重修復:PermGen Space 與 Internal Error 完美解決

     編輯:Java 綜合教學

MyEclipse 內存溢出雙重修復:PermGen Space 與 Internal Error 完美解決

錯誤一:Tomcat 運行期 java.lang.OutOfMemoryError: PermGen space

原因:永久代(類元數據)不足,常見於熱部署、大量 JSP 編譯、第三方 JAR 過多。

修復:MyEclipse → Preferences → MyEclipse → Servers → Tomcat x.x → JDK → Optional Java VM arguments:

-Xmx768M -Xms768M -XX:NewSize=128m -XX:MaxNewSize=128m -XX:PermSize=128m -XX:MaxPermSize=128m

Tomcat VM 參數配置截圖

錯誤二:IDE 自身 An internal error has occurred. java.lang.NullPointerException

原因:MyEclipse 自身 JVM 堆/永久代不足。

修復:編輯安裝目錄 myeclipse.ini,調整:

-Xmx768m
-XX:MaxPermSize=256m
-XX:ReservedCodeCacheSize=256m

重啟 IDE 即可生效。

補充說明(JDK 8+)

  • JDK 8 移除永久代,改用 Metaspace,參數變為 -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=256m。
  • -XX:ReservedCodeCacheSize 影響 JIT 編譯代碼緩存,大型專案建議 ≥ 256m。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved