版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、提綱 通用方法 日志分析方法 預(yù)備知識(shí) core分析 性能問題診斷通用方法-了解被診斷系統(tǒng) 什么語(yǔ)言開發(fā)的 架構(gòu)及工作原理 日志及其它輸出 模塊相互間接口及調(diào)用關(guān)系 評(píng)估故障診斷方法可能對(duì)系統(tǒng)帶來的影響通用方法-正視故障診斷的復(fù)雜性 其實(shí)故障診斷是個(gè)模式匹配的過程 首先確認(rèn)這是個(gè)故障 一定建立在多方收集的客觀事實(shí)(現(xiàn)象、日志)基礎(chǔ)上 充分分析事實(shí),不要輕易下結(jié)論 忽略偶然現(xiàn)象,最好能夠重現(xiàn)故障 抓問題主要方面,特別是一段時(shí)間沒有診斷和分析的系統(tǒng),老問題會(huì)帶來干擾通用方法-工具和方法 利用好各種診斷工具 詢問法粗略了解,要分清事實(shí)和結(jié)論 日志分析法 利用思維導(dǎo)圖,分析邏輯關(guān)系 分段或分環(huán)境進(jìn)行測(cè)
2、試,并記錄結(jié)果做比較 敢于懷疑,但要找事實(shí)支持日志分析方法-實(shí)現(xiàn)統(tǒng)計(jì)功能 awk(regex,function) grep(regex) sed sort tr uniq 跟蹤系統(tǒng)和動(dòng)態(tài)庫(kù)函數(shù)調(diào)用:truss/tusc/strace<race 查看系統(tǒng)日志:dmesg/errpt日志分析方法-實(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)用 自己來點(diǎn)?預(yù)備知識(shí)-動(dòng)態(tài)鏈接庫(kù) 由來和原理 優(yōu)缺點(diǎn) 加載 PIC 性能預(yù)備知識(shí)-多線程的概
3、念預(yù)備知識(shí)-程序內(nèi)存映像預(yù)備知識(shí)-AIX程序內(nèi)存映像A 32-bit application program running on the system has an address space that is divided into the following segments:0 x00000000 to 0 x0fffffff Contains the kernel.0 x10000000 to 0 x1fffffff Contains the application program text.0 x20000000 to 0 x2fffffff Contains the applic
4、ation program data, the process heap, and the application stack.0 x30000000 to 0 xcfffffff Available for use by shared memory or mmap services.0 xd0000000 to 0 xdfffffff Contains shared library text.0 xe0000000 to 0 xefffffff Available for use by shared memory or mmap services.0 xf0000000 to 0 xffff
5、ffff Contains the application shared library data.Process Address Space in 64-bit Applications A 64-bit application program running on the system has an address space that is divided into the following segments:0 x0000 0000 0000 0000 to 0 x0000 0000 0fff ffff Contains the kernel.0 x0000 0000 f000 00
6、00 to 0 x0000 0000 0fff ffff Reserved.0 x0000 0001 0000 0000 to 0 x07ff ffff ffff ffff Contains the application program text, application program data, the process heap, and shared memory or mmap services.0 x0800 0000 0000 0000 to 0 x08ff ffff ffff ffff Privately loaded objects.0 x0900 0000 0000 000
7、0 to 0 x09ff ffff ffff ffff Shared library text and data.0 x0f00 0000 0000 0000 to 0 x0fff ffff ffff ffff Application stack.Some item: Size、Res Data、Res Text、Res Set預(yù)備知識(shí)-HP-UX程序內(nèi)存映像32 bits applications預(yù)備知識(shí)-HP-UX程序內(nèi)存映像64 bits applications預(yù)備知識(shí)-Solaris/sparc程序內(nèi)存映像預(yù)備知識(shí)-JVM&J2EE預(yù)備知識(shí)-CORBA預(yù)備知識(shí)-Tuxedo
8、ATMIcore分析-core的類型和原因 SIGABRT(6):異常退出,通常程序發(fā)現(xiàn)了錯(cuò)誤并調(diào)用abort,比如C+中沒有處理的exception SIGBUS(7):內(nèi)存訪問時(shí)的硬件故障,通常是地址未對(duì)齊 SIGFPE(8):浮點(diǎn)數(shù)異常,包括除0、溢出等 SIGILL(4):不正確的指令,通常是指針越界導(dǎo)致的ip非法,棧溢出等 SIGIOT(6):執(zhí)行I/O自陷 SIGQUIT(3):退出并產(chǎn)生core SIGSEGV(11):錯(cuò)誤的內(nèi)存地址,通常是訪問的地址空間不存在,或者沒有讀寫權(quán)限core分析-core文件的備份 AIX 設(shè)置環(huán)境變量 CORE_NAMING=yes,文件名形如co
9、re.pid.ddhhmmss 每個(gè)用戶的core設(shè)置在/etc/security/user Solaris 利用coreadm命令,例如 coreadm -i core.%f.%t HP-UX 利用coreadm命令,例如 coreadm -p core.%f.%t Linux /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分析-分析步驟 查看 cor
10、e 文件大小 查看 limit 信息 查看 core 進(jìn)程的環(huán)境變量 可先嘗試 pstack 偶爾要收集系統(tǒng)核心參數(shù) 使用調(diào)試工具(gdb/dbx/mdb) 對(duì)照 core 時(shí)的日志 編寫驗(yàn)證程序core分析-我們應(yīng)用的常見core 不能分配更多的內(nèi)存(除了limit、32位,還有OS特定的限制) 棧溢出(??臻g不夠,遞歸太深) abort,特別是c+的exception 頭文件和實(shí)現(xiàn)不一致 使用了空指針 指針越界/內(nèi)存溢出 多線程問題 重復(fù)freecore分析-自己實(shí)踐從前面的類型中自己選,編寫程序驗(yàn)證和實(shí)踐從前面的類型中自己選,編寫程序驗(yàn)證和實(shí)踐環(huán)境:86(AIX) u
11、sername: lixp61 (HP-UX IA64) username: lixp99(Solaris) username: lixpcore分析-案例1(AIX5.3,32Bits)iom:/tuxedo/iom/aioss/binls-lcore-rw-r-r-1iomaigrp270562700Dec3021:35coreiom:/tuxedo/iom/aioss/bindbxunif_execcoreTypehelpforhelp.usingmemoryimageincoreSegmentationfaultinmalloc_common.e
12、xtend_brk/usr/lib/threads/libc.aat0 xd0355260($t1)0 xd0355260(extend_brk+0 x20c)90040004stwr0,0 x4(r4)(dbx)(dbx)wheremalloc_common.extend_brk(internalerror:assertionfailedatline3650infileframe.c?,internalerror:assertionfailedatline3650infileframe.c?,internalerror:assertionfailedatline3650infileframe
13、.c?)at0 xd0355260(dbx)core分析-案例2(Solaris10,32bits)currentthread:t26=1_lwp_kill(0 x0,0 x6,0 x0,0 x6,0 xffbffeff,0 x0),at0 xed34d6ac2raise(0 x6,0 x0,0 xed3b5010,0 xed32cd88,0 xffffffff,0 x6),at0 xed2e69ac3abort(0 x0,0 x1,0 xefb9403c,0 xee4cc,0 xed3b34d8,0 x0),at0 xed2c20104free(0 x6fabf0,0 x709b48,0 x
14、0,0 x80,0 x6a,0 x80000000),at0 xefb80b005operatordelete(0 x709b48,0 x1aaedf0,0 x1aaedfc,0 xc,0 x14e98,0 xec0ec2fc),at0 xef95631c6std:allocator:deallocate(0 xea0f4f7a,0 x709b48,0 x8,0 x4f,0 x1aaeb20,0 x0),at0 xede9ab907std:allocator_interfacestd:allocator,char:deallocate(0 xea0f4f7a,0 x709b48,0 x8,0
15、xea0f5334,0 x7ffffc00,0 xe),at0 xede9a6788std:basic_stringchar,std:char_traits,std:allocator:_unLink(0 x1aaedf0,0 xea0f5358,0 x1a9ca28,0 x87a100,0 x1a78fc8,0 x8),at0 xede96d009std:basic_stringchar,std:char_traits,std:allocator:basic_string(0 x1aaedf0,0 x1aaedde,0 x0,0 xffffffff,0 x4f,0 x4f),at0 xede
16、9605010SObdCallInfo:SObdCallInfo(0 x1aaedf0,0 x0,0 x0,0 x1aaedd0,0 x0,0 x0),at0 xede9bbc028VISThread:_start(0 x10506c8,0 xea0f6000,0 x0,0 x0,0 xef8399b8,0 x1),at0 xef8399e0core分析-案例3 20110901 貴州賬務(wù)資料 MDB core 問題性能問題診斷-常見性能問題 CPU瓶頸:鎖問題、線程切換、邏輯問題 內(nèi)存瓶頸:換頁(yè)、緩存過大、邏輯問題 網(wǎng)絡(luò)瓶頸:網(wǎng)卡、中斷、cpu綁定 I/O瓶頸:底層問題、目錄操作量大 數(shù)據(jù)庫(kù)
17、瓶頸:大數(shù)據(jù)量、索引、鎖性能問題診斷-一般分析過程性能問題診斷-關(guān)鍵點(diǎn)關(guān)鍵點(diǎn)1:應(yīng)用對(duì)資源的性能/容量要求是什么?有沒有超過?關(guān)鍵點(diǎn)2:有沒有做過基準(zhǔn)測(cè)試?關(guān)鍵點(diǎn)3:平時(shí)有沒有收集性能數(shù)據(jù)?性能問題診斷-必讀書籍AIX通用編程概念:編寫并調(diào)試程序.pdf性能管理.pdf網(wǎng)絡(luò)與通信管理.pdfHP-UXcaliper_user_guide.pdfhp-ux linker and libraries user guide for hp-ux 11.0.pdfJava Troubleshooting Guide for HP-UX Systems.pdfTunable Kernel Paramete
18、rs - HP-UX Release 11i Version 1.6.pdfSolarisSolaris 10 - Performance-Analysis using Dynamic Tracing(DTrace).pdfS10DeepDive_Performance.pdfDTrace User Guide.pdfLinker and Libraries Guide.pdfMultithreaded Programming Guide.pdf性能問題診斷-AIX工具性能問題診斷-HP-UX工具性能問題診斷-Solaris工具性能問題診斷-vmstat這個(gè)工具可以讓我們看到很多性能問題!性能
19、問題診斷-context switch資料來源:C and C+ Application development on AIX.pdf, P115性能問題診斷-iostatAIXHP-UXSolaris性能問題診斷-tcpdumptcpdump -adeflnNOpqStvx -c 數(shù)量 -F 文件名 -i 網(wǎng)絡(luò)接口 -r 文件名 -s snaplen -T 類型 -w 文件名 表達(dá)式 (1)想要截獲所有 的主機(jī)收到的和發(fā)出的所有的數(shù)據(jù)包:#tcpdump host (2) 想要截獲主機(jī) 和主機(jī) 或210
20、.27.48.3的通信,使用命令:(在命令行中適用括號(hào)時(shí),一定要#tcpdump host and ( or ) (3) 如果想要獲取主機(jī)除了和主機(jī)之外所有主機(jī)通信的ip包,使用命令:#tcpdump ip host and ! (4)如果想要獲取主機(jī)接收或發(fā)出的telnet包,使用如下命令:#tcpdump tcp port 23 host 進(jìn)程和端口的關(guān)系:pfiles、lsof、trus
21、s網(wǎng)卡和ip的關(guān)系:ifconfig性能問題診斷-netperf長(zhǎng)連接:netperf -t TCP_RR -H 20 - -r 64 64短連接:netperf -t TCP_CRR -H 20 其它選項(xiàng):-c -C -j性能問題診斷-AIX 64bits cout0 x09000000004922e0 _global_lock_common(?, ?, ?) + 0 x40c0 x09000000000650f0 _rec_mutex_lock(?) + 0 x17c0 x0900000000431c5c std:_Lock:_Wait()(?) +
22、 0 x2c0 x0900000000431bdc std:_Lockit:_Lockit(int)(?, ?) + 0 x1c0 x0900000000431b7c std:_Lockit:_Lockit(int)(?, ?) + 0 x2c0 x09000000057eb110 std:basic_ostreamchar,std:char_traits :sentry:sentry(std:basic_ostreamchar,std:char_traits &)(0 x144a443a0, 0 x9001000a01dd780) + 0 x480 x09000000057e5d10
23、 std:basic_ostreamchar,std:char_traits & std:operatorchar,std:char_traits,std:allocator (std:basic_ostreamchar,std:char_traits &,const std:basic_stringchar,std:char_traits,std:allocator &)(0 x9001000a01dd780, 0 x144a44580) + 0 x10c0 x09000000057e5784 COstreamVisitor:visit(const CObdBasic
24、ListObject&,bool)(0 x144a44a20, 0 x144a44d18, 0 x0) + 0 x3c0 x09000000057e90fc operator(std:basic_ostreamchar,std:char_traits &,const CObdBasicListObject&)(0 x9001000a01dd780, 0 x144a44d18) + 0 x6c0 x090000001a8fccf0 app_app_wyintf_app_busi4webfuncintf:MBusi4webFuncIntfApp:CIBusi4webFuncIntfImp:get_allProdByBillId(SOBSession*,const
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年床上用品供需合同
- 2024年工業(yè)設(shè)計(jì)和技術(shù)進(jìn)出口合同
- 2024年新品:班組經(jīng)濟(jì)責(zé)任制承包合同
- 企業(yè)銷售部門工作總結(jié)格式(8篇)
- 幼兒園藝術(shù)工作計(jì)劃(20篇)
- 護(hù)士應(yīng)屆生的自薦信(范本10篇)
- 2024年感應(yīng)門生產(chǎn)安裝合同
- 2024年新修訂白酒二級(jí)分銷合同
- 前臺(tái)接待個(gè)人年終工作總結(jié)(10篇)
- 2024年式景觀照明勞務(wù)分包合同
- 通用橫版企業(yè)報(bào)價(jià)單模板
- 潛油泵及潛油泵加油機(jī)講義
- 物業(yè)服務(wù)公司各崗位規(guī)范用語(yǔ)
- 醫(yī)患溝通內(nèi)容要求記錄模板(入院、入院三日、術(shù)前、術(shù)后、出院)
- 航海學(xué)天文定位第四篇第6章天文定位
- 淺談深度教學(xué)中小學(xué)數(shù)學(xué)U型學(xué)習(xí)模式
- 物理電學(xué)暗箱專題30道
- 裝修公司員工勞動(dòng)合同
- 江西上饒鉛山汽車駕駛科目三考試線路
- 通過一起放火案件淺析放火案件的移交工作
- 南京農(nóng)業(yè)大學(xué)學(xué)生在校學(xué)習(xí)期間現(xiàn)實(shí)表現(xiàn)證明
評(píng)論
0/150
提交評(píng)論