tomcat中java垃圾收集調(diào)優(yōu)

tomcat中java垃圾收集調(diào)優(yōu)

ID:33835777

大?。?5.50 KB

頁數(shù):5頁

時(shí)間:2019-03-01

tomcat中java垃圾收集調(diào)優(yōu)_第1頁
tomcat中java垃圾收集調(diào)優(yōu)_第2頁
tomcat中java垃圾收集調(diào)優(yōu)_第3頁
tomcat中java垃圾收集調(diào)優(yōu)_第4頁
tomcat中java垃圾收集調(diào)優(yōu)_第5頁
資源描述:

《tomcat中java垃圾收集調(diào)優(yōu)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。

1、Tomcat中Java垃圾收集調(diào)優(yōu)1JVM內(nèi)存JAVA_OPTS參數(shù)說明設(shè)置服務(wù)器端的JVM參數(shù)一般在catalina.bat文件中:JAVA_OPTS="-server-Xms2048m-Xmx2048m-Xss512k"JVM中對(duì)象的劃分及管理介紹JVM根據(jù)運(yùn)行于其中的對(duì)象的生存時(shí)間大致的分為3種。并且將這3種不同的對(duì)象分別存放在JVM從系統(tǒng)分配到的不同的內(nèi)存空間。這種對(duì)象存放空間的管理方式叫做Generation管理方式。1).YoungGeneration(年輕代):用于存放“早逝”對(duì)象(即瞬時(shí)對(duì)象)。例如:在創(chuàng)建對(duì)象時(shí)或者調(diào)

2、用方法時(shí)使用的臨時(shí)對(duì)象或局部變量。2).TenuredGeneration(年老代):用于存放“駐留”對(duì)象(即較長(zhǎng)時(shí)間被引用的對(duì)象)。往往體現(xiàn)為一個(gè)大型程序中的全局對(duì)象或長(zhǎng)時(shí)間被使用的對(duì)象。3).PermGeneration(永久保存區(qū)域):用于存放“永久”對(duì)象。這些對(duì)象管理著運(yùn)行于JVM中的類和方法。------------------------------------------------------------------------------在命令行下用java-XmxXXXXM-version命令來測(cè)試java可用最大

3、內(nèi)存,測(cè)試可逐漸增大XXXX的值,如果執(zhí)行正常就表示指定的內(nèi)存大小可用,否則會(huì)打印錯(cuò)誤信息。通常測(cè)試windows系統(tǒng)(32位)最大內(nèi)存為:1500M,但系統(tǒng)一般到1280M就差不多了------------------------------------------------------關(guān)于垃圾收集分類介紹在JVM中有兩種垃圾方式:1).一種叫做Minor(次收集)。Minor在YoungGeneration(年輕代)的空間被對(duì)象全部占用后執(zhí)行,主要是對(duì)YoungGeneration中的對(duì)象進(jìn)行垃圾收集。2).一種叫做Major(

4、主收集)。Major是針對(duì)于整個(gè)Heapsize(Xms和Xmx設(shè)置為JVM使用的內(nèi)存,但不包括永久保存區(qū)域使用的內(nèi)存)的垃圾收集。其中Minor方式的收集經(jīng)常發(fā)生,并且Minor收集所占用的系統(tǒng)時(shí)間小。而Major方式的垃圾收集則是一種“昂貴”的垃圾收集方式,因?yàn)樵贛ajor要對(duì)整個(gè)Heapsize進(jìn)行垃圾收集,這會(huì)使得應(yīng)用停頓的時(shí)間變得較長(zhǎng)。關(guān)于TOMCAT內(nèi)存占用介紹Tomcat運(yùn)行占用內(nèi)存=Xmx占用的內(nèi)存+PermGeneration(永久保存區(qū)域)占用內(nèi)存+所有Java應(yīng)用創(chuàng)建線程數(shù)x1MJava應(yīng)用每創(chuàng)建一個(gè)線程,在JV

5、M的內(nèi)存里也會(huì)創(chuàng)建一個(gè)Thread對(duì)象,但是同時(shí)也會(huì)在操作系統(tǒng)里創(chuàng)建一個(gè)真正的物理線程(參考JVM規(guī)范),操作系統(tǒng)會(huì)在TOMCAT余下的內(nèi)存里創(chuàng)建這個(gè)物理線程,而不是在JVM的Xmx設(shè)置的內(nèi)存堆里創(chuàng)建。在jdk1.4里頭,默認(rèn)的棧大小是256KB,但是在jdk1.5里頭,默認(rèn)的棧大小為1M每線程。因此,如果系統(tǒng)剩余內(nèi)存為400M的可用內(nèi)存,則Java應(yīng)用最多創(chuàng)建400個(gè)可用線程。結(jié)論:要想創(chuàng)建更多的線程,必須減少分配給JVM的最大內(nèi)存。參數(shù)說明如下:-server:一定要作為第一個(gè)參數(shù),在多個(gè)CPU時(shí)性能佳-Xms:初始Heap大小,

6、使用的最小內(nèi)存,cpu性能高時(shí)此值應(yīng)設(shè)的大一些-Xmx:javaheap最大值,使用的最大內(nèi)存上面兩個(gè)值是分配JVM的最小和最大內(nèi)存,取決于硬件物理內(nèi)存的大小,建議均設(shè)為物理內(nèi)存的一半,最大不要超過可用物理內(nèi)存的80%。-Xmn:younggeneration(年輕代)的heap大小,一般設(shè)置為Xmx的3、4分之一(此值對(duì)系統(tǒng)性能影響較大,Sun官方推薦配置為整個(gè)堆的3/8)(可使用-XX:NewSize和-XX:MaxNewsize設(shè)置年輕代的初始值和最大值)-Xincgc:啟動(dòng)增量垃圾收集器,缺省是關(guān)閉的。增量垃圾收集器能減少偶然

7、發(fā)生的長(zhǎng)時(shí)間的垃圾回收造成的暫停時(shí)間。但增量垃圾收集器和應(yīng)用程序并發(fā)執(zhí)行,因此會(huì)占用部分CPU在應(yīng)用程序上的功能。-XX:CMSInitiatingOccupancyFraction=70發(fā)現(xiàn)引起promotionfailed錯(cuò)誤的原因是CMS來不及回收(CMS默認(rèn)在年老代占到90%左右才會(huì)執(zhí)行),年老代又沒有足夠的空間供GC把一些活的對(duì)象從年輕代移到年老代,所以執(zhí)行FullGC。CMSInitiatingOccupancyFraction=70表示年老代占到約70%時(shí)就開始執(zhí)行CMS,這樣就不會(huì)頻繁出現(xiàn)FullGC了。上兩個(gè)參數(shù)設(shè)置

8、有很大技巧,基本上滿足:(Xmx-Xmn)*(100-CMSInitiatingOccupancyFraction)/100>=Xmn就不會(huì)出現(xiàn)promotionfailed。如果在應(yīng)用中設(shè)置Xmx(最大內(nèi)存)是1500

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。