Eclipse運行效能調優

來源:互聯網
上載者:User


最近,Eclipse(Eclipse-JEE3.5)運行十分緩慢(可能外掛程式安裝過多),因此,得到了個機會調優一下,以便提高工作效率
是未經任何調整eclipse的gc情況(使用jvisualvm命令,安裝visual gc外掛程式)

可以看出,僅啟動過程就有38次young gc,11次full gc
為了查看gc細節,在eclipse.ini中加入如下參數:
-verbose:gc
-XX:+PrintGCDetails
-XX:+PrintGCDateStamps
-Xloggc:D:/soft/eclipse-jee/gc.log
gc的內容如下:

從gc日誌中可以看出:
(1)young區開始為4928K,持續的不夠,因此造成不斷的young gc
(2)full gc時,old區的空間增大擴容,因此old區空間也不夠
為了防止這種情況發生,加入以下參數:
-Xms768m
-Xmx768m
-XX:NewSize=512m
-XX:MaxNewSize=512m
此次調整後結果如:

可以看出,young gc沒有了,但為啥還11次full gc呢?
以下是此次gc的日誌:

從gc.log中,可以看出,是因為perm區的沒有空間了,才導致的full gc,於是將perm區增大並固定大小
加入以下參數:
-XX:PermSize=96m
-XX:MaxPermSize=96m
此次調整後結果如下:

可以看出,沒有full gc了,而且young gc只有一次,有了一定的效果了
啟動時gc的問題解決了,現在來看其他問題:

可以看出,如果classloader載入class的時間能快些,應該也會節省些時間
加入以下參數:
-Xverify:none(關閉Java位元組碼驗證,從而加快了類裝入的速度)

將上兩圖比較
第一個:平均每個類的載入時間為,54.615/10950 = 0.0049876712328767s
第二個:平均每個類的載入時間為,34.498/9484 = 0.0036374947279629s
可以看出,多少是有一些效能上的提高的
考慮到eclipse長時間運行,其他可能調節的有以下幾點:
(1)關閉System.gc()
(2)提高eclipse中某些代碼的JIT編譯
(3)最佳化垃圾收集器,以減少垃圾收集造成應用無響應的時間
對於(1),加入以下參數:
-XX:+DisableExplicitGC
對於(2),會影響啟動速度,但由於eclipse是長時間運行,因此此最佳化是必要的:
-XX:CompileThreshold=100(方法調用多少次就會被編譯成本地機器碼)

可以看出,編譯方法的數量和時間明顯增加
對於(3),換用CMS收集器應該比串列收集器要好,加入以下參數:
-XX:+UseParNewGC
-XX:+UseConcMarkSweepGC
-XX:CMSInitiatingOccupancyFraction=80
至此,調優結束


總結一下加入的參數如下:
-verbose:gc
-XX:+PrintGCDetails
-XX:+PrintGCDateStamps
-Xloggc:D:/soft/eclipse-jee-galileo-win32/eclipse/gc.log
-Xms512m
-Xmx512m
-XX:NewSize=256m
-XX:MaxNewSize=256m
-XX:PermSize=96m
-XX:MaxPermSize=96m
-XX:+DisableExplicitGC
-XX:CompileThreshold=100
-Xverify:none
-XX:+UseParNewGC
-XX:+UseConcMarkSweepGC
-XX:CMSInitiatingOccupancyFraction=80

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.