下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
現(xiàn)狀:系統(tǒng)運(yùn)行一段時(shí)間后,速度開(kāi)頭變慢,而且越來(lái)越嚴(yán)峻;FullGC過(guò)于頻繁,使得系統(tǒng)中斷次數(shù)越來(lái)越多;處理方法:在JVM中增加GC輸出,在tomcat/bin/catalina.sh中增加如下設(shè)置JAVA_OPTS=“$JAVA_OPTS -verbose:gc -Xloggc:/var/log/gc.log -XX:+PrintGCDetails-XX:+PrintGCTimeStamps-XX:+PrintHeapAtGC-XX:+PrintTenuringDistribution“,JVM會(huì)自動(dòng)gc日志,格式如下:{HeapbeforeGCinvocations=35(full2):PSYoungGen total 1047552K, used 1046528K [0xb42a0000, 0xf42a0000,0xf42a0000)edenspace1046528K,100%used[0xb42a0000,0xf40a0000,0xf40a0000)fromspace1024K,0%used[0xf41a0000,0xf41a0000,0xf42a0000)to space1024K,0%used[0xf40a0000,0xf40a0000,0xf41a0000)PSOldGen total2097152K, used 277656K [0x342a0000, 0xb42a0000,0xb42a0000)objectspace2097152K,13%used[0x342a0000,0x451c6000,0xb42a0000)PSPermGen total 65536K, used 21366K [0x142a0000, 0x182a0000,0x342a0000)objectspace65536K,32%used[0x142a0000,0x1577d920,0x182a0000)333342.537:[GCDesiredsurvivorsize1048576bytes,newthreshold1(max15)[PSYoungGen: 1046528K->1024K(1047552K)] 1324184K->400132K(3144704K),0.2424250secs][Times:user=1.92sys=0.00,real=0.24secs]HeapafterGCinvocations=35(full2):PSYoungGen total 1047552K, used 1024K [0xb42a0000, 0xf42a0000,0xf42a0000)edenspace1046528K,0%used[0xb42a0000,0xb42a0000,0xf40a0000)fromspace1024K,100%used[0xf40a0000,0xf41a0000,0xf41a0000)to space1024K,0%used[0xf41a0000,0xf41a0000,0xf42a0000)PSOldGen total2097152K, used 399108K [0x342a0000, 0xb42a0000,0xb42a0000)objectspace2097152K,19%used[0x342a0000,0x4c861010,0xb42a0000)PSPermGen total 65536K, used 21366K [0x142a0000, 0x182a0000,0x342a0000)objectspace65536K,32%used[0x142a0000,0x1577d920,0x182a0000)}JVMHEAP的構(gòu)造如下:GC有兩種:rC:對(duì)于生成的對(duì)象,都放在n中;當(dāng)n布滿時(shí)〔小孩太多了C將old空間中;fullGColdfullGC。fullGCold,young里面大局部垃圾block。jmapJVMheap使用狀況:jmap-heap4306AttachingtoprocessID4306,pleasewait...Debuggerattachedsuccessfully.Servercompilerdetected.JVMversionis16.3-b01usingthread-localobjectallocation.ParallelGCwith8thread(s)HeapConfiguration:MinHeapFreeRatio=40MaxHeapFreeRatio=70MaxHeapSize =3221225472(3072.0MB)NewSize =4194304(4.0MB)MaxNewSize =4294901760(4095.9375MB)OldSize =4194304(4.0MB)NewRatio =2SurvivorRatio =1000PermSize =67108864(64.0MB)MaxPermSize =536870912(512.0MB)HeapUsage:PSYoungGenerationEdenSpace:capacity=1071644672(1022.0MB)used =662329344(631.646484375MB)free =409315328(390.353515625MB)61.80493976272023%usedFromSpace:capacity=1048576(1.0MB)used =1048576(1.0MB)free =0(0.0MB)100.0%usedToSpace:capacity=1048576(1.0MB)used =0(0.0MB)free =1048576(1.0MB)0.0%usedPSOldGenerationcapacity=2147483648(2048.0MB)used =713975824(680.9004058837891MB)free =1433507824(1367.099594116211MB)33.24709013104439%usedPSPermGenerationcapacity=67108864(64.0MB)used =21879232(20.86566162109375MB)free =45229632(43.13433837890625MB)32.602596282958984%usedMinorGCNewRatio來(lái)把握new空間的大小。FullGC比較耗時(shí),對(duì)系統(tǒng)影響較大。假設(shè)覺(jué)察幾次FullGC后,內(nèi)存使用沒(méi)有降下來(lái),則有可能存在內(nèi)存泄露:catgc.log|grep“FullGC“2581.257: [Full GC [PSYoungGen: 640K->0K(589248K)] [PSOldGen:664345K->207093K(699072K)] 664985K->207093K(1288320K) [PSPermGen:30828K->30828K(131072K)],1.2023230secs][Times:user=1.19sys=0.01,real=1.20secs]2929.640: [Full GC [PSYoungGen: 64K->0K(645824K)] [PSOldGen:676059K->185422K(699072K)] 676123K->185422K(1344896K) [PSPermGen:30962K->30962K(131072K)],1.0784410secs][Times:user=1.08sys=0.00,real=1.07secs]3465.263: [Full GC [PSYoungGen: 640K->0K(564096K)] [PSOldGen:676009K->208685K(699072K)] 676649K->208685K(1263168K) [PSPermGen:30985K->30985K(131072K)],1.2440760secs][Times:user=1.24sys=0.00,real=1.24secs]3765.206:[FullGC[PSYoungGen:640K->0K(387648K)][PSOldGen:656238K->260889K(725952K)] 656878K->260889K(1113600K) [PSPermGen:31005K->30805K(131072K)],1.7598360secs][Times:user=1.76sys=0.00,real=1.76secs]4006.283: [Full GC [PSYoungGen: 640K->0K(549568K)] [PSOldGen:641960K->418960K(905152K)] 642600K->418960K(1454720K) [PSPermGen:30818K->30818K(131072K)],2.3026830secs][Times:user=2.30sys=0.00,real=2.30secs]4545.212: [Full GC [PSYoungGen: 640K->0K(472023K)] [PSOldGen:879051K->207236K(699072K)] 879691K->207236K(1171072K) [PSPermGen:30854K->30854K(131072K)],1.2098150secs][Times:user=1.19sys=0.02,real=1.21secs]6052.607: [Full GC [PSYoungGen: 64K->0K(573568K)] [PSOldGen:682860K->155937K(699072K)] 682924K->155937K(1272640K) [PSPermGen:30890K->30890K(131072K)],0.8968940secs][Times:user=0.89sys=0.00,real=0.90secs]HPDiagnostics是一個(gè)比較好用的工具,可以診斷出執(zhí)行時(shí)間較長(zhǎng)和頻繁的sql、執(zhí)行時(shí)間較長(zhǎng)的方法,還可以跟蹤內(nèi)存的使用狀況以及對(duì)象的數(shù)量〔Jprofilertomcat格外慢,不知道現(xiàn)在性能怎樣〕設(shè)置步驟如下:tomcatHpDiagnosticsDiagnostics分析器使用在 tomcat 中 加 入 如 下 設(shè) 置 : JAVA_OPTS=“$JAVA_OPTS-javaagent:/opt/MercuryDiagnostics/JavaAgent/DiagnosticsAgent/lib/probeagent.jar-agentpath:/opt/MercuryDiagnostics/JavaAgent/DiagnosticsAgent/lib/x86-linux64/libjvmti.so“tomcat35000端口HPJavaAgentjavawebstart://server:35000即可連接FullGC后的對(duì)象數(shù)量,確定特別對(duì)象的數(shù)量。所以需要對(duì)內(nèi)部的規(guī)律有確定的了解,否則很難確定對(duì)象的數(shù)量存在特別。假設(shè)能確定到內(nèi)存泄露的對(duì)象,還需要確認(rèn)是哪個(gè)地方引用了這些對(duì)象,以至于無(wú)法釋放。通常需要留意的地方時(shí)一些Map、ThreadLocal、靜態(tài)變量等,web應(yīng)用中還需要留意sessionapplication中是否存在沒(méi)有去除的數(shù)據(jù)。分析代碼是一種方式,但是很多時(shí)候可能很難從代碼中定位。JVM自帶的工具jmap在這個(gè)時(shí)候可以派上大用場(chǎng)。使用如下命令可以生成dump信息:jmap-dump:live,format=b,file=heap20230114.bin3624Dumpingheapto/var/log/heap20230114.bin...Heapdumpfilecreatedjhatdump信息:jhat-J-mx1024mheap_snapshot.binReadingfromheap.bin...DumpfilecreatedFriDec3109:30:54CST2023Snapshotread,resolving...Resolving2474879objects...Chasing references, expect 494dots........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 中國(guó)藥水投加計(jì)量泵行業(yè)發(fā)展?fàn)顩r及前景動(dòng)態(tài)分析研究報(bào)告(2024-2030版)
- 中國(guó)聚合氯化鋁行業(yè)發(fā)展?fàn)顩r及盈利前景預(yù)測(cè)研究報(bào)告(2024-2030版)
- 2024年中國(guó)抗氧穩(wěn)定劑市場(chǎng)調(diào)查研究報(bào)告
- 中國(guó)離心鍋爐給水泵行情監(jiān)測(cè)及供需前景預(yù)測(cè)研究報(bào)告(2024-2030版)
- 2024年中國(guó)定氧探頭市場(chǎng)調(diào)查研究報(bào)告
- 中國(guó)電聲產(chǎn)品行業(yè)盈利態(tài)勢(shì)與需求前景預(yù)測(cè)研究報(bào)告(2024-2030版)
- 中國(guó)琥珀酸二甲酯行業(yè)供需態(tài)勢(shì)及投資戰(zhàn)略規(guī)劃研究報(bào)告(2024-2030版)
- 中國(guó)煙用接裝紙行業(yè)發(fā)展動(dòng)態(tài)及需求規(guī)模預(yù)測(cè)研究報(bào)告(2024-2030版)
- 數(shù)控銑床課程設(shè)計(jì)主軸箱
- 美容師心理課程設(shè)計(jì)書
- 2024-2029年中國(guó)水上游樂(lè)園行業(yè)十四五發(fā)展分析及投資前景與戰(zhàn)略規(guī)劃研究報(bào)告
- 節(jié)能電梯知識(shí)培訓(xùn)課件
- 小班美術(shù)《小刺猬背果果》課件
- 檔案移交方案
- 高中英語(yǔ)外研版(2019)選擇性必修第一冊(cè)各單元主題語(yǔ)境與單元目標(biāo)
- 人教版數(shù)學(xué)三年級(jí)上冊(cè)《1-4單元綜合復(fù)習(xí)》試題
- 2024年水利工程行業(yè)技能考試-水利部質(zhì)量檢測(cè)員筆試歷年真題薈萃含答案
- (新版)三級(jí)物聯(lián)網(wǎng)安裝調(diào)試員技能鑒定考試題庫(kù)大全-上(單選題匯總)
- 2024年室內(nèi)裝飾設(shè)計(jì)師(高級(jí)工)考試復(fù)習(xí)題庫(kù)(含答案)
- 教育培訓(xùn)行業(yè)2024年生產(chǎn)與制度改革方案
- 快消行業(yè)品牌分析
評(píng)論
0/150
提交評(píng)論