若是常常提示內存耗盡
將eclipse.ini內容替換爲如下代碼
-startup
plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.0.v20100503
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
256M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms256m
-Xmx512m
-XX:PermSize=128M
-XX:MaxPermSize=128M
-XX:+UseParallelGC
-Xverify:none
重點是黑體的幾行javascript
-XX:+DisableExplicitGC ##禁用System.gc()的顯示內存回收 對這個參數不是很熟悉java
netbeans 相關配置linux
http://blog.csdn.net/petehero/article/details/518261網絡
------------------------------------------------app
Eclipse啓動正常,但在打開工程時會出未響應的狀況,在任務管理器中察看也是味應用。形成這種狀況緣由有3:
1、CPU不夠用,在任務管理器中察看CPU會達到90%以上,甚至是100%。剛纔看了CPU才24%,顯然問題不在這裏。
2、內存不夠,在任務管理器中察看內存才用1.7G,我有機器內存4G,安裝Windows7 64bit,內存全能識別。
3、按照易經的不易變易來分析,上面2種狀況是不易,那麼變易必定在Eclipse自身上。
打開Eclipse的目錄,裏面有一個eclipse.ini配置文件,打開會看到有內存配置的參數eclipse
其中openFile是打開文件時須要的內存大小參數,org.eclipse.platform是Eclipse運行所需內存參數。兩個都是256M,看來小了點,我給它調成512M,再啓動Eclipse,打開工程時一點都不卡,未響應的狀況也沒有了。jsp
--------------------------------------------------工具
Eclipse無響應,假死的解決辦法,網上一般都是調整eclipse的配置文件,修改jre佔用的內存等等,實際發現效果不明顯,不少時候假死都是在編輯js和jsp的時候發生的,後來在網上找到了幾個解決辦法,都不見效,後來看eclipse日誌發現是因爲應用的JS庫過於臃腫龐大,且有兩個一樣的js應用,每次eclipse進行jsDOM生成時,就會觸發假死,把引用的多餘的js庫去掉就行了。下面是幾個網上的解決方案,我感受都只能解決一方面的問題,真正解決eclipse的假死問題,還得看eclipse在workspace下的日誌。解決js庫過於龐大還能夠經過將下面兩個參數刪除來解決,讓eclipse不在啓動時,自動校驗js性能
打開項目的.project文件,將
<buildCommand>
<name>org.eclipse.wst.jsdt.core.javascriptValidator</name>
<arguments>
</arguments>
</buildCommand>
跟<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
這兩個地方刪掉便可。。。。。優化
其餘網上的幾個方法:
方法一:更換更高版本的jre,有時候有的jre版本形成eclipse假死,更換更高版本的jre有時會解決問題
在Eclipse——Window——Preferences——Java——Installed JREs下
請確保你上面顯示的是JDK文件夾裏面的JRE,而不是與JDK在同一文件夾的那個目錄,同時你在新建JRE時要把下面的jar文件加入進來:(點擊Add External JARS便可加入JAR文件)
D:\Program Files\Java\jdk1.5.0_06\jre\lib下的 *.jar;以及
D:\Program Files\Java\jdk1.5.0_06\jre\lib\ext下的*.jar.
方法二:
工程目錄右鍵->Properties->Java Build Path->Libraries 下面
找到 javax.servlet.jar 和 javax.servlet.jsp.jar
下面選擇Javadoc location ,
點擊Edit,去掉Java location path的值或者指定一個本地地址。
-----------------------------------------------------------------------------
產生此現象的緣由是每次打開提示時Eclipse會自動訪問網絡上的API Doc,網束慢的狀況下就會有假死現象。
============================eclipse性能調優========================
最近,Eclipse(Eclipse-JEE3.5)運行十分緩慢(可能插件安裝過多),所以,獲得了個機會調優一下,以便提升工做效率
下圖是未經任何調整eclipse的gc狀況(使用jvisualvm命令,安裝visual gc插件)
在終端輸入:jvisualvm運行後,工具->插件->visual gc,安裝。
啓動eclipse後,在終端運行: ps -ef | grep eclipse,而後在jvisualvm的應用程序一欄選擇eclipse pid的程序雙擊,便可到visual gc上查看圖表。
-Xms1024m
-Xmx1024m
對應的爲圖中的 Old 區;
-XX:NewSize=768m
-XX:MaxNewSize=768m
對應的爲圖中的 Eden 區;
-XX:PermSize=200m
-XX:MaxPermSize=200m
對應的爲圖中的 Perm區;
從圖中能夠看出,僅啓動過程就有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
http://blog.csdn.net/gtuu0123/article/details/6720253
參考如上內容用的eclipse.ini:
一、小內存,運行狀況不錯
-clean
-startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20130327-1440.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.gtk.linux.x86_1.1.200.v20130807-1835
-product
org.eclipse.epp.package.cpp.product
--launcher.defaultAction
openFile
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=1.6
-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
二、大內存
-clean
-startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20130327-1440.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.gtk.linux.x86_1.1.200.v20130807-1835
-product
org.eclipse.epp.package.cpp.product
--launcher.defaultAction
openFile
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=1.6
-Xms1600m
-Xmx1600m
-XX:NewSize=800m
-XX:MaxNewSize=800m
-XX:PermSize=256m
-XX:MaxPermSize=256m
-XX:+DisableExplicitGC
-XX:CompileThreshold=100
-Xverify:none
-XX:+UseParNewGC
-XX:+UseConcMarkSweepGC
-XX:CMSInitiatingOccupancyFraction=80
三、大內存,本身弄的,可能優化的不合理
-clean -startup plugins/org.eclipse.equinox.launcher_1.3.0.v20130327-1440.jar --launcher.library plugins/org.eclipse.equinox.launcher.gtk.linux.x86_1.1.200.v20130807-1835 -product org.eclipse.epp.package.cpp.product --launcher.defaultAction openFile -showsplash org.eclipse.platform --launcher.XXMaxPermSize 256m --launcher.defaultAction openFile --launcher.appendVmargs -vmargs -Dosgi.requiredJavaVersion=1.6 -XX:MaxPermSize=256m -Xms40m -Xmx2048m -Xss1024k -Xss1024k -XX:+DisableExplicitGC -XX:CompileThreshold=100 -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=80 -Xverify:none