eclipse啟動引數
JVM 提供了各種用於調整記憶體分配和垃圾回收行為的標準開關和非標準開關。其中一些設定可以提高 JAVA IDE
的效能。
注意,由於 -X (尤其是 -XX JVM)開關通常是 JVM 或 JVM 供應商特定的,本部分介紹的開關可用於 Sun
Microsystems J2SE 1.4.2。
以下設定在大多數系統上將產生比工廠更好的設定效能。
-vmargs - 表示將後面的所有引數直接傳遞到所指示的 Java VM。
-Xverify:none - 此開關關閉Java位元組碼驗證,從而加快了類裝入的速度,並使得在僅為驗證目的而啟動的過程中無需裝入類。此開關縮短了啟動時間,因此沒有理由不使用它。
-Xms24m - 此設定指示 Java 虛擬機器將其初始堆大小設定為 24 MB。通過指示 JVM 最初應分配給堆的記憶體數量,可以使 JVM 不必在 IDE 佔用較多記憶體時增加堆大小。
-Xmx96m - 此設定指定 Java 虛擬機器應對堆使用的最大記憶體數量。為此數量設定上限表示 Java 程序消耗的記憶體數量不得超過可用的實體記憶體數量。對於具有更多記憶體的系統可以增加此限制,96 MB 設定有助於確保 IDE 在記憶體量為 128MB 到 256MB 的系統上能夠可靠地執行操作。注意:不要將該值設定為接近或大於系統的實體記憶體量,否則將在主要回收過程中導致頻繁的交換操作。
-XX:PermSize=20m - 此 JVM
開關不僅功能更為強大,而且能夠縮短啟動時間。該設定用於調整記憶體"永久區域"(類儲存在該區域中)的大小。因此我們向 JVM
提示它將需要的記憶體量。該設定消除了許多系統啟動過程中的主要垃圾收集事件。SunONE Studio 或其它包含更多模組的 IDE
的使用者可能希望將該數值設定得更高。
下面列出了其它一些可能對 ECLIPSE 在某些系統(不是所有系統)上的效能產生輕微或明顯影響的 JVM
開關。儘管使用它們會產生一定的影響,但仍值得一試。
-XX:CompileThreshold=100 - 此開關將降低啟動速度,原因是與不使用此開關相比,HotSpot 能夠更快地將更多的方法編譯為原生代碼。其結果是提高了 IDE 執行時的效能,這是因為更多的 UI 程式碼將被編譯而不是被解釋。該值表示方法在被編譯前必須被呼叫的次數。
-XX:+UseConcMarkSweepGC -XX:+UseParNewGC - 如果垃圾回收頻繁中斷,則請嘗試使用這些開關。此開關導致 JVM 對主要垃圾回收事件(如果在多處理器工作站上執行,則也適用於次要回收事件)使用不同的演算法,這些演算法不會影響整個垃圾回收程序。注意:目前尚不確定此收集器是提高還是降低單處理器計算機的效能。
-XX:+UseParallelGC - 某些測試表明,至少在記憶體配置相當良好的單處理器系統中,使用此回收演算法可以將次要垃圾回收的持續時間減半。注意,這是一個矛盾的問題,事實上此回收器主要適用於具有千兆位元組堆的多處理器。尚無可用資料表明它對主要垃圾回收的影響。注意:此回收器與 -XX:+UseConcMarkSweepGC 是互斥的。