使用下面的命令行啟動eclipse:
eclipse.exe -vmargs -Xverify:none -XX:+UseParallelGC -XX:PermSize=20M -Xms64M -Xmx512M
如果通過快捷方式啟動eclipse,這樣操作:“右鍵->屬性->目標(輸入框)”,參照上面的命令行在輸入框中修改其中的命令行。
myEclipse也可以參照這樣使用。
通常有用的開關
以下設置在大多數系統應該產生比出廠設置更好的性能。
- -Xverify:none - 該開關禁用 Java 字節代碼驗證,從而使加載更快,并且在啟動過程中不需要加載類,僅用于驗證。該開關縮短了啟動時間,因此,沒有理由不使用它。
- -vmargs - 表示將后面的所有參數直接傳遞到所指示的 Java VM。
- -Xms32m - 該設置告訴 Java 虛擬機將它的初始堆大小設置為 32 兆字節。通過告訴 JVM 最初應該為堆分配多少內存。
- -Xmx256m - 該設置告訴 Java 虛擬機它應該為該堆使用的最大內存數量。對該數量進行強硬的上限限制意味著 Java 進程占用的內存比可用的物理 RAM 少。對于具有較多內存的系統可以提高該顯示。當前默認值為 128MB。注意: 不要將該值設置為接近或大于您系統中物理 RAM 的量,否則它將造成運行時期間嚴格的交換。
- -XX:PermSize=20m - 此 JVM 開關不僅功能更為強大,而且能夠縮短啟動時間。該設置用于調整內存"永久區域"(類保存在該區域中)的大小。因此我們向 JVM 提示它將需要的內存量。該設置消除了許多系統啟動過程中的主要垃圾收集事件。
更多吸引人的開關
- -XX:+UseConcMarkSweepGC 或 -XX:+UseParNewGC - 如果您遇到入侵垃圾收集暫停的問題,則嘗試這些開關。該開關使 JVM 對主要的垃圾收集事件(也對于次要的收集,如果運行在多處理器的工作站上)使用不同的算法,一些算法并不停止整個垃圾收集進程。
- -XX:+UseAdaptiveSizePolicy - 該開關可能有助于提高垃圾收集器吞吐量并減少內存占用。在 JDK5.0 中實現的 garbage collector ergonomics 的一部分。
- -XX:+UseParallelGC - 一些測試表明,至少在裝備相當好的內存的系統上,當在單處理器系統上使用該收集算法時,次要垃圾收集的持續時間將減半。注意這是自相矛盾的,該收集器設計用于在具有十億字節堆的多處理器系統上工作最佳。沒有數據表示它在主要垃圾收集上的效果。注意: 該收集器和
-XX:+UseConcMarkSweepGC
是相互排斥的。 - -J-XX:CompileThreshold=100 - 該開關將使啟動時間更慢,通過 HotSpot 來編譯下載至本機的代碼的很多方法比其他情況更快。報告的結果是 IDE 運行之后性能較高,因為將編譯比解釋的代碼更多的 UI 代碼。該值表示編譯之前必須調用方法的次數。
影響圖形行為的選項
- -Dsun.java2d.opengl=true - 啟用新的基于 OpenGL 的管道,以便 Java 2D 用來支持使用 OpenGL 的快速硬件渲染。
- -Dsun.java2d.d3d=false - 該開關禁用 DirectDraw 并且可能解決一些 HW 配置的性能問題。
- -Dawt.nativeDoubleBuffering=true - 該開關使 Swing 假設操作系統正在處理雙倍緩存并且它不應該執行任何操作。在遠程 X 連接上該開關可能不工作,但是對于本地使用,它非常有用,因為您真正看到了每個重畫的完成,這使它很容易注意到某些操作是否正在造成不必要的重畫。
- Font anti-aliasing 用于 Swing widget,可以與 -Dswing.aatext=true 屬性一起啟用。與環境變量 J2D_PIXMAPS=shared 的設置和導出一起使用時非常有用,至少在 Linux 平臺上可以獲得合理的性能。