本文主要結(jié)合筆者在蘇寧云平臺支撐工作中的實踐,以基于經(jīng)驗切實有效的判定分析方式貫穿, 整理了云平臺linux服務(wù)器(下文中區(qū)分了物理機及虛擬機)運維中的常見問題場景、分析工具箱及判別思路.主要包含以下三部分:
1、linux服務(wù)器CPU、IO、內(nèi)存性能異常的常用工具、判定標準、以及分析思路
2、linux服務(wù)器異常宕機的故障可能的原因、定位方法與常規(guī)分析思路
3、linux服務(wù)器丟包的問題可能的原因、定位方法與常規(guī)分析思路
讀者范圍:中高級linux服務(wù)器運維人員
注:本文結(jié)合問題圖景枚舉了各個tool與分析關(guān)聯(lián)較大的參數(shù)及用法,以起到一個示例說明,各工具的詳細用法需要自行閱讀研習(xí)man手冊.
圖1? cpu 異常分解
top?-H?-d?1?-c
高亮列及運行進程?z?x?y
選擇?shift+L/Rarrow
-d磁盤讀寫報告io 統(tǒng)計
-r內(nèi)存使用及缺頁
-u cpu
-l展示命令行及參數(shù)
-w switch
-t顯示線程的統(tǒng)計
-T
每秒展示活動進程的cpu?使用率
pidstat?-u?1
按線程組關(guān)系聚合展示cpu?消耗時間,幫助找出busy?線程
pidstat??-t?1?-T?ALL
-b塊統(tǒng)計
-B頁面
-r頁面使用統(tǒng)計
-R頁面回收統(tǒng)計
-d磁盤使用統(tǒng)計
-q調(diào)度統(tǒng)計
-S swap
-m運行頻率
-v文件 inode dentry活動統(tǒng)計
-w調(diào)度switch
-W換入換出統(tǒng)計
-n網(wǎng)絡(luò) DEV, EDEV, NFS, ? ? ?NFSD, SOCK, IP, EIP, ICMP, EICMP, TCP, ETCP, UDP, SOCK6, IP6, EIP6, ICMP6, ? ? ?EICMP6 and UDP6
-s 00:00:00 -e 00:21:00指明要查看的開始結(jié)束時間
nmonvisulizar是來自于ibm 的nmon可視化分析工具
開啟開關(guān)
echo?1?>?/proc/sys/kernel/sysrq
打印進程堆棧
echo?t?>?/proc/sysrq-trigger
eg.如果已經(jīng)softlockup?且業(yè)務(wù)影響已然明顯,停業(yè)務(wù)后用下面命令產(chǎn)生一個vmcore
echo?c?>?/proc/sysrq-trigger
-c統(tǒng)計系統(tǒng)調(diào)用次數(shù)及時間
-f也trace子進程調(diào)用
-e指明關(guān)心的調(diào)用 eg. -e ? ? ?open,write
eg.
命令執(zhí)行時掛起,了解進程掛在哪個syscall
strace?cmd?arg
進程系統(tǒng)調(diào)用開銷較大,獲取syscall統(tǒng)計
strace?-p?PID?-c
bt查看執(zhí)行堆棧
frame切換工作幀
用戶進程的cpu消耗影響系統(tǒng)整體使用,配合debuginfo及代碼可大致梳理出占用邏輯,attach后,進程會STOP
gdb?-p?PID
perf top在線采樣及展示
-e指明事件,默認是cycle,全部時間可perf list 查詢
-G調(diào)用圖
-F采樣頻率
-d刷新間隔
-p特定進程
-C特定核
perf?top?-d1?-G?-F?99?-z
shift?+?e?可展開堆棧視圖
shift?+?c?可折疊堆棧視圖
perf record/report
record輸出采樣文件perf.data文件
report解析
perf?record?-F?99?-a?-g?-p?PID?-C?6?sleep?5
perf?report
圖2 內(nèi)存異常分解
free
cat?/proc/self/status
cat?/proc/self/smaps
numastat??-m
numactl?--hardware
cat?/proc/meminfo
cat?/proc/zoneinfo?|egrep?"zone|min|low|high|free|present"
....
Node?0,?zone???Normal
??pages?free?????3195167
????????min??????13740
????????low??????17175
????????high?????20610
????????present??3361280
????nr_free_pages?3195167
??????????????high:??186
??????????????high:??186
sysctl -a|grep extra_free_kbytes min_free_kbytes extra_free_kbytes的組合值構(gòu)成三個水線
直接回收線 MIN min_free_kbytes
后臺回收線 LOW 5/4*min_free_kbytes + ? ? ?extra_free_kbytes
后臺回收停止 HIGH 3/2*min_free_kbytes + ? ? ?extra_free_kbytes
cat?/proc/buddyinfo
Node?0,?zone??????DMA??????2??????2??????1??????1??????1??????0??????1??????0??????1??????1??????3
Node?0,?zone????DMA32????730????596????414????339????277????214????159????127?????85?????68????557
Node?0,?zone???Normal????447????558????348????166?????72?????45???1021????888????607????252???2661
slabtop?了解當前內(nèi)核數(shù)據(jù)結(jié)構(gòu)內(nèi)存消耗
io異常
????
圖3 io 異常分解
cfq deadline noop
當意外的io 延遲發(fā)生,需要深入了解io延遲分布,需要使用blktrace & blkparser 工具進行細致分析
學(xué)會合理使用oflag標志 sync 同步刷出數(shù)據(jù) direct 繞過pagecache
用來標定系統(tǒng)io能力的便捷工具
fio?-filename=/dev/mapper/vg_os-testlv??-direct=1?-iodepth?1?-thread?-rw=randwrite?-ioengine=psync?-bs=8k?-size=100G?-numjobs=96?-runtime=60?-group_reporting?-name=mytest
面向塊占用及文件系統(tǒng)占用的查詢分析
strace可以看出兩個命令原理的差異:df 讀取文件系統(tǒng)信息,du stat 各個文件然后累加
兩者出入較大需進一步考察:
是否存在空洞?
是否一個文件用戶已經(jīng)看不到但是文件系統(tǒng)還沒有真正刪除?(就是打開文件被刪除的情況??lsof?+L1)
是否被某些掛載點隱藏了之前的目錄文件?
df?顯示錯誤的話懷疑是否fs損壞?
圖4 網(wǎng)絡(luò)異常分析
ethtool?-S
關(guān)注drop??error
tc?-s?-d?qd
關(guān)注包drop情況
常用連接查看
netstat?-ntp
netstat?-ntpl
ss?-ie
-i待抓取的網(wǎng)口名字
-w抓包文件,可以是時間格式化串
-G回滾時長,單位秒
-c抓取多少個包后退出
-s抓取部分報文,單位字節(jié)
-r讀取抓包文件離線分析
-z調(diào)用gzip等工具做壓縮
-Z切換user 運行,默認是tcpdump
-B設(shè)置buf大小,不然抓不全單位KB 10240
eg.tcpdump?tcp?port?80?and?host
tcpdump??-s0?-w?%m_%d_%H_%M_%S.pcap?-G?5?-z?gzip?-Z?root?-c?100000?-i?any
圖5 宕機場景分析
log查看宕機關(guān)聯(lián)日志
bt查看宕機位置
sys查看基本信息
crash??vmcore??vmlinux
vmlinux?來自于kernel?debuginfo包,是帶調(diào)試信息的二進制內(nèi)核鏡像
如果系統(tǒng)未正確生成vmcore,?需檢查?/etc/kdump.conf?配置及其中的設(shè)定vmcore?路徑此處討論已開始涉及內(nèi)核態(tài)問題,常見異常分析領(lǐng)域不再展開
本文場景化地總結(jié)了云平臺幾類常見的linux server異常分析思路及toolset, 篇幅所限無法面面俱到,但如開篇提到,真正的快速有效的問題判別定位離不開對系統(tǒng)領(lǐng)域的熟悉與細致縝密的判斷,以場景化方式靈活地運用好工具箱,達到由表及里,由淺入深的理解系統(tǒng),快速高效解決線上問題。?Havefun:)
謝英豪 ?蘇寧科技集團云平臺中心高級工程師,長期耕耘于linux內(nèi)核及操作系統(tǒng)的支撐領(lǐng)域,保障蘇寧云環(huán)境線上海量?kvm?server farm的穩(wěn)定高效運行.
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
網(wǎng)站題目:云平臺linux服務(wù)器問題場景分析思路及工具箱-創(chuàng)新互聯(lián)
網(wǎng)站路徑:http://vcdvsql.cn/article24/pjgje.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊、軟件開發(fā)、靜態(tài)網(wǎng)站、網(wǎng)站內(nèi)鏈、動態(tài)網(wǎng)站、網(wǎng)站改版
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容