资源预览内容
第1页 / 共69页
第2页 / 共69页
第3页 / 共69页
第4页 / 共69页
第5页 / 共69页
第6页 / 共69页
第7页 / 共69页
第8页 / 共69页
第9页 / 共69页
第10页 / 共69页
亲,该文档总共69页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
06 April 2006Security Level 06 April 2006Security Level 惧色HUAWEITECHNOLOGESco.LdHUAWEIConidenialHUAWEI议题常用的Java调试技巧线程掩椴解读性能瓶颈分析讳程清试内存洲湾检测口HHHUAWEITECHNOLOGESco.LdHUAWEIComfiental口一一不丁一一认常用工具集proc一具集系统足踪命令truss/straceCore文件管理coreadm迹程极态监控prstat网给状态监控netstatECPU和内存监控wmstat护包工具其已工具pas2弹色huAwel线程堆栈一加f锵i线础技Windows:在运行java的控制台上按CtT1+break组合键Unix:保留启动java的控制台,使用kil1-3pid告动吊进行重定向春一个不锦的习惟:ushstartlog2381堆栈的作用:线程死锁分析辅助CPU过高分析线程资源不足分析性能瓶颈分析关键线程异常退出HUAWEITECHOLOGESco.LdHUAWEIComfientalpge蕙譬HUAWEI线程堆栈f呼组Raet&s。oWaittbsleap的睿大区别wait0一一会释放监视锁sleep()一一与锁操作无关保持监视锁当一个绣程占有一个销的时俸,吴#lockedDedgzci8当试绣琼正在等待别的继深租攸试镇,就会打印:raitingtlockOredtzc48加棣代霁中有wit0调用的诚,首光是lodked然后叉会打印-aitinsanxadozc48HUAWEIECHNOLOGESco.LdHUAWEIComfientialpge4鳙薯HUAWEI线程堆栈n哗线RRThtp0000.27443Processord“daemonpraz5id-0x599a7520nid0x1858inObiectwait5c9ef000.5cefd88|弛javalangObjectwat(hativeMethod)-wattngon(aorgapachetomcatutlthreadsThreadPoolSContolRunnable)atjavalangObjectwat(OKKtjava429)张orgapachetomcatilhresuThreadPoal8ContolRunnableunfThreadPooljava655)-locled(aog河、vetomcattilthreadsThreadPoolSConirofRunnable)atjavalangThreadun(Threadjaih表示正在线稿正偷在诗切象的waitt面。同iwait会自动弈炜诗铨表示诙绥程锋往了诗锁HUAWEITECHioLOGESco.LdHUAWEIComfientiapge5鳙薯HUAWEI线程堆栈一f胺读织程埔柄?aitingtolock(oxml4fdfee8表示诗链巳经禁的组程俭用,正在等待该锁谈租政“sngpo2iSender108dsenenpdeci-一EEwatingrmenioren0055p00_6056fHs吊tgapadelesiCacgoniX-edfcader(Cacgorrava183tntbdtHRES(ogapachelogtjspiRoetCatetery)gapadelegiCacgorrforcedLog(Categoryjna37)eapadelegiCacgorregCacgorrava869弛gapadecemmonslegtingimglLe8tiLogserdetug(LogtiLeeeriava137)comliaveiuniponalcommbuscsorverAbstactiondierendtAbstacbizndierjava400)comlaweiielinusrucscndmeseasgeUCSMPPTiansactionsendtUCSMPPTransactejavaa0comlaweiielinusracscndmnessageUCSeveProxisinSendtUCServePresyjaval34comliaveiinigonalcommbasefrexySendWederrunlAbacctProxyjsvab66comuaveiunigonalmtittesconcuncntPooledExecodWetterranPooledExecatoriava7489)atjavalingTivcatronriieadjava4HUAWEITECHioLOGESco.LdHUAWEIConfdenalpge5蕙譬HUAWEI线程堆栈一线程死锁分析虚报机巳经告许FoumdneJavslereldeateck。c有死敬一真“readrwatingtoleskmeaier0x00fecbt(obcct00052710,sjavalangObjecwhichiheltbyMyeadr“readwatingtoloskmoaier0x00fecgtWcct00052718,sjavalngObjecbichihetbyMyeatDnasackinbmatonbrcdreadslaedaboveneeaarDestdLectestnntDcadLeckTestievat9-watingtoleck(ajavalingObjec0-ledtedonl0052018(ajavalingOtjea0adjarslngTircalrnntCHRCRSoaci)“eeadr0uon2ri0和0xl0052f18都坤aDeatLockestnatDeadLokTestjava24等佩义万河放,双方都谅死waliogeleckcorlo0n18“javatngtiec0-hdied+Kbreak(windows下)获取一个堆柏信息,几分钟之后再获取一个,通过两个堆株信息对比,将一直在仙的线程拖出来。通过分析对应的代码,确认不正常的线程-第一步:通过kill-3java_pid获取当前堆栾信息。第二步:等待一段时间后。肉获取一下当前堆株信息。HUAWEITECHNOLOGIESCoLnHUAWEIComfientiapes鳙薯HUAWEI线程堆栈用户代码导致CPU过高/热点线程分析第三步:预处理前两个获取的堆栾信息,例如如下线程处于wait或者sleep状态,这种线程是不消耗CPU的,因此这些线程可以直接忘略掉,重点关;去掉处于sleeping或waiting的状态其它线程:“Eventlanmser-Werikaz-idaemonprioc8tidr0r00ciea58itc0xld训0bject.rait065Ht000.965ticgatjanalangcbjectowaittivelethodd川倩绍深巳探春,腾探一itingonC0tbbeSLSs6(orsexclab.coreutil.Fidodueus)atjavalang0bjectwaitGbjectjana:d29第二步:寿毕顾处理后的,探桃信息,抠出处于busy板怀的终程,诀类继司能是导致c高占用师。(面的暨在第一个捧偷息中报到的处于active活骗状怡的经稚)“http-80-Processerbrdesonprioc5tid-0xlSeaT0nidc0zl46zunnable92etf00.92f0l9cefatcomhuayeictLayscommenltiogrLicenseIntt.nativehecklicmnselfativeIetbodatcomhuaveictLayscommenlicgrLicenseIntt.chechLicmae(LicenseInttjanail69acomhuareicuLysnestingmesyomgrbclelatebeanupdataLic(Lichelateeanjana:80)HUAWEITECHNOLOGESco.LdHUAWEIComfiertala譬HUAWEI线程堆栈用户代码导致CPU过高/热点线程分析同一个织程在第二个探桃信息中仍虱于活踹状志http-80-Proceseorbdeaonprioc5日d0x0lSea10nidc0dl45nnrableapett000.92iolgcoatcomhuayeicuLayscommenltosgrLicenseIntt.natiyehecklicamnselfativeIetbodatcomhuayeictLeyscommenliosgrLicenseIntt.checLicemae(LicenseInttjanail69acomhuaveicuLysneetingomesyomgreihclelatebeanupdateLic(Licfelateeanjana:60)团O西次打印推核流线程一眼在运行,说明设线程己汪行了5切钟,请在代呆中查查话继春香属于长时间近行经程?加春履于智态绍程,加止长明间汪行设明古有死偷环等导敏的Pfid高。HUAWEITECHNOLOGESco.LdHUAWEIComfientialRasi邺HUAWEI
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号