![系統(tǒng)常見(jiàn)故障診斷參考課件_第1頁(yè)](http://file4.renrendoc.com/view/ba8363dd6eb79aa5c7ad0942a0c9a1dd/ba8363dd6eb79aa5c7ad0942a0c9a1dd1.gif)
![系統(tǒng)常見(jiàn)故障診斷參考課件_第2頁(yè)](http://file4.renrendoc.com/view/ba8363dd6eb79aa5c7ad0942a0c9a1dd/ba8363dd6eb79aa5c7ad0942a0c9a1dd2.gif)
![系統(tǒng)常見(jiàn)故障診斷參考課件_第3頁(yè)](http://file4.renrendoc.com/view/ba8363dd6eb79aa5c7ad0942a0c9a1dd/ba8363dd6eb79aa5c7ad0942a0c9a1dd3.gif)
![系統(tǒng)常見(jiàn)故障診斷參考課件_第4頁(yè)](http://file4.renrendoc.com/view/ba8363dd6eb79aa5c7ad0942a0c9a1dd/ba8363dd6eb79aa5c7ad0942a0c9a1dd4.gif)
![系統(tǒng)常見(jiàn)故障診斷參考課件_第5頁(yè)](http://file4.renrendoc.com/view/ba8363dd6eb79aa5c7ad0942a0c9a1dd/ba8363dd6eb79aa5c7ad0942a0c9a1dd5.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
提綱通用方法日志分析方法預(yù)備知識(shí)core分析性能問(wèn)題診斷提綱通用方法1通用方法-了解被診斷系統(tǒng)什么語(yǔ)言開(kāi)發(fā)的架構(gòu)及工作原理日志及其它輸出模塊相互間接口及調(diào)用關(guān)系評(píng)估故障診斷方法可能對(duì)系統(tǒng)帶來(lái)的影響通用方法-了解被診斷系統(tǒng)什么語(yǔ)言開(kāi)發(fā)的2通用方法-正視故障診斷的復(fù)雜性其實(shí)故障診斷是個(gè)模式匹配的過(guò)程首先確認(rèn)這是個(gè)故障一定建立在多方收集的客觀事實(shí)(現(xiàn)象、日志)基礎(chǔ)上充分分析事實(shí),不要輕易下結(jié)論忽略偶然現(xiàn)象,最好能夠重現(xiàn)故障抓問(wèn)題主要方面,特別是一段時(shí)間沒(méi)有診斷和分析的系統(tǒng),老問(wèn)題會(huì)帶來(lái)干擾通用方法-正視故障診斷的復(fù)雜性其實(shí)故障診斷是個(gè)模式匹配的過(guò)程3通用方法-工具和方法利用好各種診斷工具詢問(wèn)法粗略了解,要分清事實(shí)和結(jié)論日志分析法利用思維導(dǎo)圖,分析邏輯關(guān)系分段或分環(huán)境進(jìn)行測(cè)試,并記錄結(jié)果做比較敢于懷疑,但要找事實(shí)支持通用方法-工具和方法利用好各種診斷工具4日志分析方法-實(shí)現(xiàn)統(tǒng)計(jì)功能awk(regex,function)grep(regex)sedsorttruniq跟蹤系統(tǒng)和動(dòng)態(tài)庫(kù)函數(shù)調(diào)用:truss/tusc/strace<race查看系統(tǒng)日志:dmesg/errpt日志分析方法-實(shí)現(xiàn)統(tǒng)計(jì)功能awk(regex,functio5日志分析方法-實(shí)踐統(tǒng)計(jì)所有進(jìn)程占用多大內(nèi)存在aix上,統(tǒng)計(jì)代碼段有多大接上,統(tǒng)計(jì)有多少個(gè)不同的段接上,統(tǒng)計(jì)各個(gè)段的大小統(tǒng)計(jì)應(yīng)用日志中,select語(yǔ)句的平均耗時(shí),及耗時(shí)最大的5條sql跟蹤一下系統(tǒng)調(diào)用自己來(lái)點(diǎn)?日志分析方法-實(shí)踐統(tǒng)計(jì)所有進(jìn)程占用多大內(nèi)存6預(yù)備知識(shí)-動(dòng)態(tài)鏈接庫(kù)由來(lái)和原理優(yōu)缺點(diǎn)加載PIC性能預(yù)備知識(shí)-動(dòng)態(tài)鏈接庫(kù)由來(lái)和原理7預(yù)備知識(shí)-多線程的概念預(yù)備知識(shí)-多線程的概念8預(yù)備知識(shí)-程序內(nèi)存映像預(yù)備知識(shí)-程序內(nèi)存映像9預(yù)備知識(shí)-AIX程序內(nèi)存映像A32-bitapplicationprogramrunningonthesystemhasanaddressspacethatisdividedintothefollowingsegments: 0x00000000to0x0fffffffContainsthekernel. 0x10000000to0x1fffffffContainstheapplicationprogramtext. 0x20000000to0x2fffffffContainstheapplicationprogramdata,theprocessheap,andtheapplicationstack. 0x30000000to0xcfffffffAvailableforusebysharedmemoryormmapservices. 0xd0000000to0xdfffffffContainssharedlibrarytext. 0xe0000000to0xefffffffAvailableforusebysharedmemoryormmapservices. 0xf0000000to0xffffffffContainstheapplicationsharedlibrarydata.ProcessAddressSpacein64-bitApplicationsA64-bitapplicationprogramrunningonthesystemhasanaddressspacethatisdividedintothefollowingsegments: 0x0000000000000000to0x000000000fffffffContainsthekernel. 0x00000000f0000000to0x000000000fffffffReserved. 0x0000000100000000to0x07ffffffffffffffContainstheapplicationprogramtext,applicationprogramdata,theprocessheap,andsharedmemoryormmapservices. 0x0800000000000000to0x08ffffffffffffffPrivatelyloadedobjects. 0x0900000000000000to0x09ffffffffffffffSharedlibrarytextanddata. 0x0f00000000000000to0x0fffffffffffffffApplicationstack.Someitem:Size、ResData、ResText、ResSet預(yù)備知識(shí)-AIX程序內(nèi)存映像A32-bitapplica10預(yù)備知識(shí)-HP-UX程序內(nèi)存映像32bitsapplications預(yù)備知識(shí)-HP-UX程序內(nèi)存映像32bitsapplic11預(yù)備知識(shí)-HP-UX程序內(nèi)存映像64bitsapplications預(yù)備知識(shí)-HP-UX程序內(nèi)存映像64bitsapplic12預(yù)備知識(shí)-Solaris/sparc程序內(nèi)存映像預(yù)備知識(shí)-Solaris/sparc程序內(nèi)存映像13預(yù)備知識(shí)-JVM&J2EE預(yù)備知識(shí)-JVM&J2EE14預(yù)備知識(shí)-CORBA預(yù)備知識(shí)-CORBA15預(yù)備知識(shí)-TuxedoATMI預(yù)備知識(shí)-TuxedoATMI16core分析-core的類型和原因SIGABRT(6):異常退出,通常程序發(fā)現(xiàn)了錯(cuò)誤并調(diào)用abort,比如C++中沒(méi)有處理的exceptionSIGBUS(7):內(nèi)存訪問(wèn)時(shí)的硬件故障,通常是地址未對(duì)齊SIGFPE(8):浮點(diǎn)數(shù)異常,包括除0、溢出等SIGILL(4):不正確的指令,通常是指針越界導(dǎo)致的ip非法,棧溢出等SIGIOT(6):執(zhí)行I/O自陷SIGQUIT(3):退出并產(chǎn)生coreSIGSEGV(11):錯(cuò)誤的內(nèi)存地址,通常是訪問(wèn)的地址空間不存在,或者沒(méi)有讀寫(xiě)權(quán)限core分析-core的類型和原因SIGABRT(6):異常17core分析-core文件的備份AIX設(shè)置環(huán)境變量CORE_NAMING=yes,文件名形如core.pid.ddhhmmss每個(gè)用戶的core設(shè)置在/etc/security/userSolaris利用coreadm命令,例如coreadm-icore.%f.%tHP-UX利用coreadm命令,例如coreadm-pcore.%f.%tLinux/proc/sys/kernel/core_pattern/proc/sys/kernel/core_uses_pid=1修改/etc/sysctl.conf,再sysctl-p或echo'core.%e.%p'>/proc/sys/kernel/core_patterncore分析-core文件的備份AIX18core分析-分析步驟查看core文件大小查看limit信息查看core進(jìn)程的環(huán)境變量可先嘗試pstack偶爾要收集系統(tǒng)核心參數(shù)使用調(diào)試工具(gdb/dbx/mdb)對(duì)照core時(shí)的日志編寫(xiě)驗(yàn)證程序core分析-分析步驟查看core文件大小19core分析-我們應(yīng)用的常見(jiàn)core不能分配更多的內(nèi)存(除了limit、32位,還有OS特定的限制)棧溢出(棧空間不夠,遞歸太深)abort,特別是c++的exception頭文件和實(shí)現(xiàn)不一致使用了空指針指針越界/內(nèi)存溢出多線程問(wèn)題重復(fù)freecore分析-我們應(yīng)用的常見(jiàn)core不能分配更多的內(nèi)存(除了20core分析-自己實(shí)踐從前面的類型中自己選,編寫(xiě)程序驗(yàn)證和實(shí)踐環(huán)境:86(AIX)username:lixp61(HP-UXIA64)username:lixp99(Solaris)username:lixpcore分析-自己實(shí)踐從前面的類型中自己選,編寫(xiě)程序驗(yàn)證和實(shí)21core分析-案例1(AIX5.3,32Bits)iom@:/tuxedo/iom/aioss/bin>ls
-l
core-rw-r--r--
1
iom
aigrp
270562700
Dec
30
21:35
core
iom@:/tuxedo/iom/aioss/bin>dbx
unif_exec
coreType
'help'
for
help.[using
memory
image
in
core]Segmentation
fault
in
malloc_common.extend_brk
[/usr/lib/threads/libc.a]
at
0xd0355260
($t1)0xd0355260
(extend_brk+0x20c)
90040004
stw
r0,0x4(r4)(dbx)
(dbx)
wheremalloc_common.extend_brk(internal
error:
assertion
failed
at
line
3650
in
file
frame.c??,
internal
error:
assertion
failed
at
line
3650
in
file
frame.c??,
internal
error:
assertion
failed
at
line
3650
in
file
frame.c??)
at
0xd0355260(dbx)
core分析-案例1(AIX5.3,32Bits)iom@:22core分析-案例2(Solaris10,32bits)current
thread:
t@26=>[1]
__lwp_kill(0x0,
0x6,
0x0,
0x6,
0xffbffeff,
0x0),
at
0xed34d6ac
[2]
raise(0x6,
0x0,
0xed3b5010,
0xed32cd88,
0xffffffff,
0x6),
at
0xed2e69ac
[3]
abort(0x0,
0x1,
0xefb9403c,
0xee4cc,
0xed3b34d8,
0x0),
at
0xed2c2010
[4]
free(0x6fabf0,
0x709b48,
0x0,
0x80,
0x6a,
0x80000000),
at
0xefb80b00
[5]
operator
delete(0x709b48,
0x1aaedf0,
0x1aaedfc,
0xc,
0x14e98,
0xec0ec2fc),
at
0xef95631c
[6]
std::allocator<char>::deallocate(0xea0f4f7a,
0x709b48,
0x8,
0x4f,
0x1aaeb20,
0x0),
at
0xede9ab90
[7]
std::allocator_interface<std::allocator<char>,char>::deallocate(0xea0f4f7a,
0x709b48,
0x8,
0xea0f5334,
0x7ffffc00,
0xe),
at
0xede9a678
[8]
std::basic_string<char,std::char_traits<char>,std::allocator<char>
>::__unLink(0x1aaedf0,
0xea0f5358,
0x1a9ca28,
0x87a100,
0x1a78fc8,
0x8),
at
0xede96d00
[9]
std::basic_string<char,std::char_traits<char>,std::allocator<char>
>::~basic_string(0x1aaedf0,
0x1aaedde,
0x0,
0xffffffff,
0x4f,
0x4f),
at
0xede96050
[10]
SObdCallInfo::~SObdCallInfo(0x1aaedf0,
0x0,
0x0,
0x1aaedd0,
0x0,
0x0),
at
0xede9bbc0
…………
[28]
VISThread::_start(0x10506c8,
0xea0f6000,
0x0,
0x0,
0xef8399b8,
0x1),
at
0xef8399e0
core分析-案例2(Solaris10,32bits)cu23core分析-案例320110901貴州賬務(wù)資料MDBcore問(wèn)題core分析-案例320110901貴州賬務(wù)資料MDB24性能問(wèn)題診斷-常見(jiàn)性能問(wèn)題CPU瓶頸:鎖問(wèn)題、線程切換、邏輯問(wèn)題內(nèi)存瓶頸:換頁(yè)、緩存過(guò)大、邏輯問(wèn)題網(wǎng)絡(luò)瓶頸:網(wǎng)卡、中斷、cpu綁定I/O瓶頸:底層問(wèn)題、目錄操作量大數(shù)據(jù)庫(kù)瓶頸:大數(shù)據(jù)量、索引、鎖……性能問(wèn)題診斷-常見(jiàn)性能問(wèn)題CPU瓶頸:鎖問(wèn)題、線程切換、邏輯25性能問(wèn)題診斷-一般分析過(guò)程CPU瓶頸??jī)?nèi)存瓶頸?I/O瓶頸?網(wǎng)絡(luò)瓶頸?vmstatpslspssvmonvmstatsarnicepsiostatlslvfilemonfileplaceMoretestnetstatnfsstatnfsonoifconfignetpmonYYYYNNNN性能問(wèn)題診斷-一般分析過(guò)程CPU瓶頸??jī)?nèi)存瓶頸?I/O瓶頸?26性能問(wèn)題診斷-關(guān)鍵點(diǎn)關(guān)鍵點(diǎn)1:應(yīng)用對(duì)資源的性能/容量要求是什么?有沒(méi)有超過(guò)?關(guān)鍵點(diǎn)2:有沒(méi)有做過(guò)基準(zhǔn)測(cè)試?關(guān)鍵點(diǎn)3:平時(shí)有沒(méi)有收集性能數(shù)據(jù)?性能問(wèn)題診斷-關(guān)鍵點(diǎn)關(guān)鍵點(diǎn)1:應(yīng)用對(duì)資源的性能/容量要求是什27性能問(wèn)題診斷-必讀書(shū)籍AIX通用編程概念:編寫(xiě)并調(diào)試程序.pdf性能管理.pdf網(wǎng)絡(luò)與通信管理.pdfHP-UXcaliper_user_guide.pdfhp-uxlinkerandlibrariesuserguideforhp-ux11.0.pdfJavaTroubleshootingGuideforHP-UXSystems.pdfTunableKernelParameters-HP-UXRelease11iVersion1.6.pdfSolarisSolaris10-Performance-AnalysisusingDynamicTracing(DTrace).pdfS10DeepDive_Performance.pdfDTraceUserGuide.pdfLinkerandLibrariesGuide.pdfMultithreadedProgrammingGuide.pdf性能問(wèn)題診斷-必讀書(shū)籍AIX通用編程概念:編寫(xiě)并調(diào)試程序.p28性能問(wèn)題診斷-AIX工具性能問(wèn)題診斷-AIX工具29性能問(wèn)題診斷-HP-UX工具性能問(wèn)題診斷-HP-UX工具30性能問(wèn)題診斷-Solaris工具性能問(wèn)題診斷-Solaris工具31性能問(wèn)題診斷-vmstat這個(gè)工具可以讓我們看到很多性能問(wèn)題!性能問(wèn)題診斷-vmstat這個(gè)工具可以讓我們看到很多性能問(wèn)題32性能問(wèn)題診斷-contextswitch資料來(lái)源:CandC++ApplicationdevelopmentonAIX.pdf,P115性能問(wèn)題診斷-contextswitch資料來(lái)源:Can33性能問(wèn)題診斷-iostatAIXHP-UXSolaris性能問(wèn)題診斷-iostatAIXHP-UXSolaris34性能問(wèn)題診斷-tcpdumptcpdump[-adeflnNOpqStvx][-c數(shù)量][-F文件名]
[-i網(wǎng)絡(luò)接口][-r文件名][-ssnaplen]
[-T類型][-w文件名][表達(dá)式](1)想要截獲所有的主機(jī)收到的和發(fā)出的所有的數(shù)據(jù)包:
#tcpdumphost(2)想要截獲主機(jī)和主機(jī)或的通信,使用命令:(在命令行中適用括號(hào)時(shí),一定要
#tcpdumphostand\(or\)(3)如果想要獲取主機(jī)除了和主機(jī)之外所有主機(jī)通信的ip包,使用命令:
#tcpdumpiphostand!(4)如果想要獲取主機(jī)接收或發(fā)出的telnet包,使用如下命令:
#tcpdumptcpport23host進(jìn)程和端口的關(guān)系:pfiles、lsof、truss網(wǎng)卡和ip的關(guān)系:ifconfig性能問(wèn)題診斷-tcpdumptcpdump[-adefl35性能問(wèn)題診斷-netperf長(zhǎng)連接:netperf-tTCP_RR-H20---r6464短連接:netperf-tTCP_CRR-H20其它選項(xiàng):-c-C-j性能問(wèn)題診斷-netperf長(zhǎng)連接:36性能問(wèn)題診斷-AIX64bitscout0x09000000004922e0_global_lock_common(??,??,??)+0x40c0x09000000000650f0_rec_mutex_lock(??)+0x17c0x0900000000431c5cstd::_Lock::_Wait()(??)+0x2c0x0900000000431bdcstd::_Lockit::_Lockit(int)(??,??)+0x1c0x0900000000431b7cstd::_Lockit::_Lockit(int)(??,??)+0x2c0x09000000057eb110std::basic_ostream<char,std::char_traits<char>>::sentry::sentry(std::basic_ostream<char,std::char_traits<char>>&)(0x144a443a0,0x9001000a01dd780)+0x480x09000000057e5d10std::basic_ostream<char,std::char_traits<char>>&std::operator<<<char,std::char_traits<char>,std::allocator<char>>(std::basic_ostream<char,std::char_traits<char>>&,conststd::basic_string<char,std::char_traits<char>,std::allocator<char>>&)(0x9001000a01dd780,0x144a44580)+0x10c…………0x09000000057e5784COstreamVisitor::visit(constCObdBasicListObject&,bool)(0x144a44a20,0x144a44d18,0x0)+0x3c0x09000000057e90fcoperator<<(std::basic_ostream<char,std::char_traits<char>>&,constCObdBasicListObject&)(0x9001000a01dd780,0x144a44d18)+0x6c0x090000001a8fccf0app_app_wyintf_app_busi4webfuncintf::MBusi4webFuncIntfApp::CIBusi4webFuncIntfImp::get_allProdByBillId(SOBSession*,conststd::basic_string<char,std::char_traits<char>,std::allocator<char>>&,conststd::basic_string<char,std::char_traits<char>,std::allocator<char>>&,app_app_wyintf_app_busi4webfuncintf::MBusi4webFuncIntfAppDef::SOrderInfoList&,ob::CBSErrorMsg&)(0x144a48618,0x144a49f80,0x144a47b50,0x144a47b70,0x144a47b90,0x144a479c0)+0x12d4…………0x090000000615c5f8VISTPoolWorker::begin()(0x12340afb0)+0x5c0x09000000067692a4VISThread::_start(void*)(0x12340afb0)+0x7c0x09000000004934ec_pthread_body(??)+0xdc性能問(wèn)題診斷-AIX64bitscout0x09000037性能問(wèn)題診斷-進(jìn)程占用內(nèi)存大動(dòng)態(tài)庫(kù)減小內(nèi)存占用32位AIX程序使用大數(shù)據(jù)32位還是64位?多線程少進(jìn)程?避免大數(shù)據(jù)性能作為保障定期重啟性能問(wèn)題診斷-進(jìn)程占用內(nèi)存大動(dòng)態(tài)庫(kù)減小內(nèi)存占用38性能問(wèn)題診斷-案例分享partition僵死java的VisiGate問(wèn)題gprs辦理業(yè)務(wù)慢問(wèn)題HP-UX的動(dòng)態(tài)庫(kù)執(zhí)行權(quán)限問(wèn)題Solaris10上ping問(wèn)題Solaris10上“抓”系統(tǒng)重啟IE頁(yè)面連接限制導(dǎo)致的Web白屏計(jì)費(fèi):追話單慢啊性能問(wèn)題診斷-案例分享partition僵死39性能問(wèn)題診斷-詳細(xì)案例20080828_甘肅中間件主機(jī)CPU占用高的問(wèn)題20081006_遼寧中間件服務(wù)器cache的應(yīng)用報(bào)告20101001CMPak系統(tǒng)響應(yīng)慢的問(wèn)題性能問(wèn)題診斷-詳細(xì)案例20080828_甘肅中間件主機(jī)CPU40性能問(wèn)題診斷-大家交流總結(jié)平時(shí)工作中的案例性能問(wèn)題診斷-大家交流總結(jié)平時(shí)工作中的案例41提綱通用方法日志分析方法預(yù)備知識(shí)core分析性能問(wèn)題診斷提綱通用方法42通用方法-了解被診斷系統(tǒng)什么語(yǔ)言開(kāi)發(fā)的架構(gòu)及工作原理日志及其它輸出模塊相互間接口及調(diào)用關(guān)系評(píng)估故障診斷方法可能對(duì)系統(tǒng)帶來(lái)的影響通用方法-了解被診斷系統(tǒng)什么語(yǔ)言開(kāi)發(fā)的43通用方法-正視故障診斷的復(fù)雜性其實(shí)故障診斷是個(gè)模式匹配的過(guò)程首先確認(rèn)這是個(gè)故障一定建立在多方收集的客觀事實(shí)(現(xiàn)象、日志)基礎(chǔ)上充分分析事實(shí),不要輕易下結(jié)論忽略偶然現(xiàn)象,最好能夠重現(xiàn)故障抓問(wèn)題主要方面,特別是一段時(shí)間沒(méi)有診斷和分析的系統(tǒng),老問(wèn)題會(huì)帶來(lái)干擾通用方法-正視故障診斷的復(fù)雜性其實(shí)故障診斷是個(gè)模式匹配的過(guò)程44通用方法-工具和方法利用好各種診斷工具詢問(wèn)法粗略了解,要分清事實(shí)和結(jié)論日志分析法利用思維導(dǎo)圖,分析邏輯關(guān)系分段或分環(huán)境進(jìn)行測(cè)試,并記錄結(jié)果做比較敢于懷疑,但要找事實(shí)支持通用方法-工具和方法利用好各種診斷工具45日志分析方法-實(shí)現(xiàn)統(tǒng)計(jì)功能awk(regex,function)grep(regex)sedsorttruniq跟蹤系統(tǒng)和動(dòng)態(tài)庫(kù)函數(shù)調(diào)用:truss/tusc/strace<race查看系統(tǒng)日志:dmesg/errpt日志分析方法-實(shí)現(xiàn)統(tǒng)計(jì)功能awk(regex,functio46日志分析方法-實(shí)踐統(tǒng)計(jì)所有進(jìn)程占用多大內(nèi)存在aix上,統(tǒng)計(jì)代碼段有多大接上,統(tǒng)計(jì)有多少個(gè)不同的段接上,統(tǒng)計(jì)各個(gè)段的大小統(tǒng)計(jì)應(yīng)用日志中,select語(yǔ)句的平均耗時(shí),及耗時(shí)最大的5條sql跟蹤一下系統(tǒng)調(diào)用自己來(lái)點(diǎn)?日志分析方法-實(shí)踐統(tǒng)計(jì)所有進(jìn)程占用多大內(nèi)存47預(yù)備知識(shí)-動(dòng)態(tài)鏈接庫(kù)由來(lái)和原理優(yōu)缺點(diǎn)加載PIC性能預(yù)備知識(shí)-動(dòng)態(tài)鏈接庫(kù)由來(lái)和原理48預(yù)備知識(shí)-多線程的概念預(yù)備知識(shí)-多線程的概念49預(yù)備知識(shí)-程序內(nèi)存映像預(yù)備知識(shí)-程序內(nèi)存映像50預(yù)備知識(shí)-AIX程序內(nèi)存映像A32-bitapplicationprogramrunningonthesystemhasanaddressspacethatisdividedintothefollowingsegments: 0x00000000to0x0fffffffContainsthekernel. 0x10000000to0x1fffffffContainstheapplicationprogramtext. 0x20000000to0x2fffffffContainstheapplicationprogramdata,theprocessheap,andtheapplicationstack. 0x30000000to0xcfffffffAvailableforusebysharedmemoryormmapservices. 0xd0000000to0xdfffffffContainssharedlibrarytext. 0xe0000000to0xefffffffAvailableforusebysharedmemoryormmapservices. 0xf0000000to0xffffffffContainstheapplicationsharedlibrarydata.ProcessAddressSpacein64-bitApplicationsA64-bitapplicationprogramrunningonthesystemhasanaddressspacethatisdividedintothefollowingsegments: 0x0000000000000000to0x000000000fffffffContainsthekernel. 0x00000000f0000000to0x000000000fffffffReserved. 0x0000000100000000to0x07ffffffffffffffContainstheapplicationprogramtext,applicationprogramdata,theprocessheap,andsharedmemoryormmapservices. 0x0800000000000000to0x08ffffffffffffffPrivatelyloadedobjects. 0x0900000000000000to0x09ffffffffffffffSharedlibrarytextanddata. 0x0f00000000000000to0x0fffffffffffffffApplicationstack.Someitem:Size、ResData、ResText、ResSet預(yù)備知識(shí)-AIX程序內(nèi)存映像A32-bitapplica51預(yù)備知識(shí)-HP-UX程序內(nèi)存映像32bitsapplications預(yù)備知識(shí)-HP-UX程序內(nèi)存映像32bitsapplic52預(yù)備知識(shí)-HP-UX程序內(nèi)存映像64bitsapplications預(yù)備知識(shí)-HP-UX程序內(nèi)存映像64bitsapplic53預(yù)備知識(shí)-Solaris/sparc程序內(nèi)存映像預(yù)備知識(shí)-Solaris/sparc程序內(nèi)存映像54預(yù)備知識(shí)-JVM&J2EE預(yù)備知識(shí)-JVM&J2EE55預(yù)備知識(shí)-CORBA預(yù)備知識(shí)-CORBA56預(yù)備知識(shí)-TuxedoATMI預(yù)備知識(shí)-TuxedoATMI57core分析-core的類型和原因SIGABRT(6):異常退出,通常程序發(fā)現(xiàn)了錯(cuò)誤并調(diào)用abort,比如C++中沒(méi)有處理的exceptionSIGBUS(7):內(nèi)存訪問(wèn)時(shí)的硬件故障,通常是地址未對(duì)齊SIGFPE(8):浮點(diǎn)數(shù)異常,包括除0、溢出等SIGILL(4):不正確的指令,通常是指針越界導(dǎo)致的ip非法,棧溢出等SIGIOT(6):執(zhí)行I/O自陷SIGQUIT(3):退出并產(chǎn)生coreSIGSEGV(11):錯(cuò)誤的內(nèi)存地址,通常是訪問(wèn)的地址空間不存在,或者沒(méi)有讀寫(xiě)權(quán)限core分析-core的類型和原因SIGABRT(6):異常58core分析-core文件的備份AIX設(shè)置環(huán)境變量CORE_NAMING=yes,文件名形如core.pid.ddhhmmss每個(gè)用戶的core設(shè)置在/etc/security/userSolaris利用coreadm命令,例如coreadm-icore.%f.%tHP-UX利用coreadm命令,例如coreadm-pcore.%f.%tLinux/proc/sys/kernel/core_pattern/proc/sys/kernel/core_uses_pid=1修改/etc/sysctl.conf,再sysctl-p或echo'core.%e.%p'>/proc/sys/kernel/core_patterncore分析-core文件的備份AIX59core分析-分析步驟查看core文件大小查看limit信息查看core進(jìn)程的環(huán)境變量可先嘗試pstack偶爾要收集系統(tǒng)核心參數(shù)使用調(diào)試工具(gdb/dbx/mdb)對(duì)照core時(shí)的日志編寫(xiě)驗(yàn)證程序core分析-分析步驟查看core文件大小60core分析-我們應(yīng)用的常見(jiàn)core不能分配更多的內(nèi)存(除了limit、32位,還有OS特定的限制)棧溢出(??臻g不夠,遞歸太深)abort,特別是c++的exception頭文件和實(shí)現(xiàn)不一致使用了空指針指針越界/內(nèi)存溢出多線程問(wèn)題重復(fù)freecore分析-我們應(yīng)用的常見(jiàn)core不能分配更多的內(nèi)存(除了61core分析-自己實(shí)踐從前面的類型中自己選,編寫(xiě)程序驗(yàn)證和實(shí)踐環(huán)境:86(AIX)username:lixp61(HP-UXIA64)username:lixp99(Solaris)username:lixpcore分析-自己實(shí)踐從前面的類型中自己選,編寫(xiě)程序驗(yàn)證和實(shí)62core分析-案例1(AIX5.3,32Bits)iom@:/tuxedo/iom/aioss/bin>ls
-l
core-rw-r--r--
1
iom
aigrp
270562700
Dec
30
21:35
core
iom@:/tuxedo/iom/aioss/bin>dbx
unif_exec
coreType
'help'
for
help.[using
memory
image
in
core]Segmentation
fault
in
malloc_common.extend_brk
[/usr/lib/threads/libc.a]
at
0xd0355260
($t1)0xd0355260
(extend_brk+0x20c)
90040004
stw
r0,0x4(r4)(dbx)
(dbx)
wheremalloc_common.extend_brk(internal
error:
assertion
failed
at
line
3650
in
file
frame.c??,
internal
error:
assertion
failed
at
line
3650
in
file
frame.c??,
internal
error:
assertion
failed
at
line
3650
in
file
frame.c??)
at
0xd0355260(dbx)
core分析-案例1(AIX5.3,32Bits)iom@:63core分析-案例2(Solaris10,32bits)current
thread:
t@26=>[1]
__lwp_kill(0x0,
0x6,
0x0,
0x6,
0xffbffeff,
0x0),
at
0xed34d6ac
[2]
raise(0x6,
0x0,
0xed3b5010,
0xed32cd88,
0xffffffff,
0x6),
at
0xed2e69ac
[3]
abort(0x0,
0x1,
0xefb9403c,
0xee4cc,
0xed3b34d8,
0x0),
at
0xed2c2010
[4]
free(0x6fabf0,
0x709b48,
0x0,
0x80,
0x6a,
0x80000000),
at
0xefb80b00
[5]
operator
delete(0x709b48,
0x1aaedf0,
0x1aaedfc,
0xc,
0x14e98,
0xec0ec2fc),
at
0xef95631c
[6]
std::allocator<char>::deallocate(0xea0f4f7a,
0x709b48,
0x8,
0x4f,
0x1aaeb20,
0x0),
at
0xede9ab90
[7]
std::allocator_interface<std::allocator<char>,char>::deallocate(0xea0f4f7a,
0x709b48,
0x8,
0xea0f5334,
0x7ffffc00,
0xe),
at
0xede9a678
[8]
std::basic_string<char,std::char_traits<char>,std::allocator<char>
>::__unLink(0x1aaedf0,
0xea0f5358,
0x1a9ca28,
0x87a100,
0x1a78fc8,
0x8),
at
0xede96d00
[9]
std::basic_string<char,std::char_traits<char>,std::allocator<char>
>::~basic_string(0x1aaedf0,
0x1aaedde,
0x0,
0xffffffff,
0x4f,
0x4f),
at
0xede96050
[10]
SObdCallInfo::~SObdCallInfo(0x1aaedf0,
0x0,
0x0,
0x1aaedd0,
0x0,
0x0),
at
0xede9bbc0
…………
[28]
VISThread::_start(0x10506c8,
0xea0f6000,
0x0,
0x0,
0xef8399b8,
0x1),
at
0xef8399e0
core分析-案例2(Solaris10,32bits)cu64core分析-案例320110901貴州賬務(wù)資料MDBcore問(wèn)題core分析-案例320110901貴州賬務(wù)資料MDB65性能問(wèn)題診斷-常見(jiàn)性能問(wèn)題CPU瓶頸:鎖問(wèn)題、線程切換、邏輯問(wèn)題內(nèi)存瓶頸:換頁(yè)、緩存過(guò)大、邏輯問(wèn)題網(wǎng)絡(luò)瓶頸:網(wǎng)卡、中斷、cpu綁定I/O瓶頸:底層問(wèn)題、目錄操作量大數(shù)據(jù)庫(kù)瓶頸:大數(shù)據(jù)量、索引、鎖……性能問(wèn)題診斷-常見(jiàn)性能問(wèn)題CPU瓶頸:鎖問(wèn)題、線程切換、邏輯66性能問(wèn)題診斷-一般分析過(guò)程CPU瓶頸??jī)?nèi)存瓶頸?I/O瓶頸?網(wǎng)絡(luò)瓶頸?vmstatpslspssvmonvmstatsarnicepsiostatlslvfilemonfileplaceMoretestnetstatnfsstatnfsonoifconfignetpmonYYYYNNNN性能問(wèn)題診斷-一般分析過(guò)程CPU瓶頸??jī)?nèi)存瓶頸?I/O瓶頸?67性能問(wèn)題診斷-關(guān)鍵點(diǎn)關(guān)鍵點(diǎn)1:應(yīng)用對(duì)資源的性能/容量要求是什么?有沒(méi)有超過(guò)?關(guān)鍵點(diǎn)2:有沒(méi)有做過(guò)基準(zhǔn)測(cè)試?關(guān)鍵點(diǎn)3:平時(shí)有沒(méi)有收集性能數(shù)據(jù)?性能問(wèn)題診斷-關(guān)鍵點(diǎn)關(guān)鍵點(diǎn)1:應(yīng)用對(duì)資源的性能/容量要求是什68性能問(wèn)題診斷-必讀書(shū)籍AIX通用編程概念:編寫(xiě)并調(diào)試程序.pdf性能管理.pdf網(wǎng)絡(luò)與通信管理.pdfHP-UXcaliper_user_guide.pdfhp-uxlinkerandlibrariesuserguideforhp-ux11.0.pdfJavaTroubleshootingGuideforHP-UXSystems.pdfTunableKernelParameters-HP-UXRelease11iVersion1.6.pdfSolarisSolaris10-Performance-AnalysisusingDynamicTracing(DTrace).pdfS10DeepDive_Performance.pdfDTraceUserGuide.pdfLinkerandLibrariesGuide.pdfMultithreadedProgrammingGuide.pdf性能問(wèn)題診斷-必讀書(shū)籍AIX通用編程概念:編寫(xiě)并調(diào)試程序.p69性能問(wèn)題診斷-AIX工具性能問(wèn)題診斷-AIX工具70性能問(wèn)題診斷-HP-UX工具性能問(wèn)題診斷-HP-UX工具71性能問(wèn)題診斷-Solaris工具性能問(wèn)題診斷-Solaris工具72性能問(wèn)題診斷-vmstat這個(gè)工具可以讓我們看到很多性能問(wèn)題!性能問(wèn)題診斷-vmstat這個(gè)工具可以讓我們看到很多性能問(wèn)題73性能問(wèn)題診斷-contextswitch資料來(lái)源:CandC++ApplicationdevelopmentonAIX.pdf,P115性能問(wèn)題診斷-contextswitch資料來(lái)源:Can74性能問(wèn)題診斷-iostatAIXHP-UXSolaris性能問(wèn)題診斷-iostatAIXHP-UXSolaris75性能問(wèn)題診斷-tcpdumptcpdump[-adeflnNOpqStvx][-c數(shù)量][-F文件名]
[-i網(wǎng)絡(luò)接口][-r文件名][-ssnaplen]
[-T類型][-w文件名][表達(dá)式](1)想要截獲所有的主機(jī)收到的和發(fā)出的所有的數(shù)據(jù)包:
#tcpdumphost(2)想要截獲主機(jī)和主機(jī)或的通信,使用命令:(在命令行中適用括號(hào)時(shí),一定要
#tcpdumphostand\(or\)(3)如果想要獲取主機(jī)除了和主機(jī)之外所有主機(jī)通信的ip包,使用命令:
#tcpdumpiphostand!(4)如果想要獲取主機(jī)接收或發(fā)出的telnet包,使用如下命令:
#tcpdumptcpport23host進(jìn)程和端口的關(guān)系:pfiles、lsof、truss網(wǎng)卡和ip的關(guān)系:ifconfig性能問(wèn)題診斷-tcpdumptcpdump[-adefl76性能問(wèn)題診斷-netperf長(zhǎng)連接:netperf-tTCP_RR-H20---r6464短連接:netperf-tTCP_CRR-H20其它選項(xiàng):-c-C-j性能問(wèn)題診斷-netperf長(zhǎng)連接:77性能問(wèn)題診斷-AIX64bitscout0x09000000004922e0_global_lock_common(??,??,??)+0x40c0x09000000000650f0_rec_mutex_lock(??)+0x17c0x0900000000431c5cstd::_Lock::_Wait()(??)+0x2c
溫馨提示
- 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ó)顯微系統(tǒng)行業(yè)市場(chǎng)調(diào)研及未來(lái)發(fā)展趨勢(shì)預(yù)測(cè)報(bào)告
- 微生營(yíng)養(yǎng)激勵(lì)素的特征解析及作物效應(yīng)研究
- 基于特征工程的格紋色織物檢索方法研究
- 發(fā)展性閱讀障礙兒童視聽(tīng)統(tǒng)計(jì)學(xué)習(xí)及其與閱讀能力的關(guān)系
- 融入傳統(tǒng)茶文化的高中化學(xué)項(xiàng)目式教學(xué)設(shè)計(jì)與實(shí)踐研究
- 京東物流并購(gòu)德邦快遞業(yè)務(wù)整合研究
- 教師周轉(zhuǎn)房申請(qǐng)書(shū)
- 聚變堆輻射場(chǎng)分析方法與應(yīng)用研究
- 多輪續(xù)寫(xiě)對(duì)高中生英語(yǔ)寫(xiě)作焦慮和寫(xiě)作意愿的影響
- 養(yǎng)豬場(chǎng)環(huán)境影響報(bào)告表
- 深圳人才公園功能分析報(bào)告
- Interstellar-星際穿越課件
- 2023-2024學(xué)年貴州省黔西南州八年級(jí)上冊(cè)1月月考語(yǔ)文質(zhì)量檢測(cè)試卷(附答案)
- 閱讀理解:如何找文章線索 課件
- 產(chǎn)品設(shè)計(jì)思維 課件 第3-5章 產(chǎn)品設(shè)計(jì)的問(wèn)題思維、產(chǎn)品設(shè)計(jì)的功能思維、產(chǎn)品設(shè)計(jì)的形式思維
- 餐券模板完整
- 2023年節(jié)能服務(wù)行業(yè)市場(chǎng)分析報(bào)告及未來(lái)發(fā)展趨勢(shì)
- 小區(qū)排水管網(wǎng)修復(fù)施工方案
- 智慧城市發(fā)展-人工智能技術(shù)在城市管理中的應(yīng)用
- 因產(chǎn)品質(zhì)量買賣合同糾紛起訴狀
- GB/T 6892-2023一般工業(yè)用鋁及鋁合金擠壓型材
評(píng)論
0/150
提交評(píng)論