Eclipse 基於 JVM 運行,透過調整記憶體分配與垃圾回收策略,可顯著提升啟動速度與執行流暢度。本文整理適用於 Sun J2SE 1.4.2+ 的關鍵參數,並提供不同記憶體規格機器的實戰配置範例。
| 參數 | 說明 | 建議值/策略 |
|---|---|---|
-vmargs | 後續參數直接傳遞給 JVM | 必須置於最前 |
-Xverify:none | 關閉位元組碼驗證,加快類載入、縮短啟動時間 | 強烈建議啟用,無副作用 |
-Xms<size> | 初始堆大小,避免運行期擴展堆的開銷 | 實體記憶體 1/8 ~ 1/4 |
-Xmx<size> | 最大堆大小,防止佔用過多實體記憶體導致交換 | 實體記憶體 1/2 ~ 3/4,勿超過實體記憶體 |
-XX:PermSize=<size> | 永久區初始大小(類/元資料儲存),減少啟動期 Major GC | 20M~64M,視外掛數量調整 |
-XX:MaxPermSize=<size> | 永久區最大大小 | 128M~256M,防止 PermGen OOM |
-XX:+UseParallelGC | 啟用平行垃圾回收器(多執行緒),單機多核心效果顯著 | 推薦啟用,與 UseConcMarkSweepGC 互斥 |
-XX:+UseConcMarkSweepGC | 並發標記清除 GC,減少 Major GC 停頓,適合多核心 | 若 GC 頻繁中斷可嘗試,單核心效果未定 |
-XX:+UseParNewGC | 新生代平行收集,搭配 CMS 使用 | 搭配 CMS 時啟用 |
-XX:CompileThreshold=<N> | 方法被呼叫 N 次後 JIT 編譯為原生碼,降低閾值加快暖機 | 100(預設較大),提升執行期效能 |
eclipse.exe -vmargs -Xverify:none -XX:+UseParallelGC -XX:PermSize=20M
eclipse.exe -vmargs -Xverify:none -Xms64M -Xmx256M -XX:PermSize=20M -XX:+UseParallelGC
eclipse.exe -vmargs -Xverify:none -Xms128M -Xmx512M -XX:PermSize=64M -XX:MaxPermSize=128M -XX:+UseParallelGC
eclipse.ini(Eclipse 安裝目錄),在 -vmargs 之後每行一個參數eclipse.exe -vmargs -Xverify:none ...-X/-XX 參數為 JVM 實作相關,本文針對 Sun/Oracle HotSpot JVM-Xmx 會導致頻繁磁碟交換,反而降低效能合理的 JVM 參數能讓 Eclipse 在有限硬體資源下發揮最大效能。從 -Xverify:none 這類零成本優化開始,逐步調整堆與永久區大小、選擇適合硬體的 GC 策略,即可獲得明顯體驗提升。