91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

云平臺linux服務器問題場景分析思路及工具箱

發布時間:2020-09-21 05:34:22 來源:網絡 閱讀:616 作者:謝英豪 欄目:云計算

前言

本文主要結合筆者在蘇寧云平臺支撐工作中的實踐,以基于經驗切實有效的判定分析方式貫穿, 整理了云平臺linux服務器(下文中區分了物理機及虛擬機)運維中的常見問題場景、分析工具箱及判別思路.主要包含以下三部分:

1、linux服務器CPU、IO、內存性能異常的常用工具、判定標準、以及分析思路

2、linux服務器異常宕機的故障可能的原因、定位方法與常規分析思路

3、linux服務器丟包的問題可能的原因、定位方法與常規分析思路

讀者范圍:中高級linux服務器運維人員

注:本文結合問題圖景枚舉了各個tool與分析關聯較大的參數及用法,以起到一個示例說明,各工具的詳細用法需要自行閱讀研習man手冊.

linux服務器CPU、IO、內存性能異常

cpu 異常

云平臺linux服務器問題場景分析思路及工具箱

1? cpu 異常分解

top
top?-H?-d?1?-c
高亮列及運行進程?z?x?y
選擇?shift+L/Rarrow
pidstat
  • -d 磁盤讀寫報告io 統計

  • -r 內存使用及缺頁

  • -u cpu

  • -l 展示命令行及參數

  • -w switch

  • -t 顯示線程的統計

  • -T

每秒展示活動進程的cpu?使用率
pidstat?-u?1
按線程組關系聚合展示cpu?消耗時間,幫助找出busy?線程
pidstat??-t?1?-T?ALL
sar
  • -b 塊統計

  • -B 頁面

  • -r 頁面使用統計

  • -R 頁面回收統計

  • -d 磁盤使用統計

  • -q 調度統計

  • -S swap

  • -m 運行頻率

  • -v 文件 inode dentry活動統計

  • -w 調度switch

  • -W 換入換出統計

  • -n 網絡 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 指明要查看的開始結束時間

iotop
iostat
nmon 分析 nmonvisulizar

nmonvisulizar 是來自于ibm 的nmon可視化分析工具

sysrq
開啟開關
echo?1?>?/proc/sys/kernel/sysrq
打印進程堆棧
echo?t?>?/proc/sysrq-trigger
eg.如果已經softlockup?且業務影響已然明顯,停業務后用下面命令產生一個vmcore
echo?c?>?/proc/sysrq-trigger


strace
  • -c 統計系統調用次數及時間

  • -f 也trace子進程調用

  • -e 指明關心的調用 eg. -e ? ? ?open,write

eg.

命令執行時掛起,了解進程掛在哪個syscall
strace?cmd?arg
進程系統調用開銷較大,獲取syscall統計
strace?-p?PID?-c


gdb
  • bt 查看執行堆棧

  • frame 切換工作幀

用戶進程的cpu消耗影響系統整體使用,配合debuginfo及代碼可大致梳理出占用邏輯,attach后,進程會STOP
gdb?-p?PID


perf

perf top 在線采樣及展示

  • -e 指明事件,默認是cycle,全部時間可perf list 查詢

  • -G 調用圖

  • -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


內存異常

云平臺linux服務器問題場景分析思路及工具箱

圖2 內存異常分解

一般檢查
free
cat?/proc/self/status
cat?/proc/self/smaps
numastat??-m
numactl?--hardware
cat?/proc/meminfo


zoneinfo
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的組合值構成三個水線

  • 直接回收線 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?了解當前內核數據結構內存消耗


io異常


云平臺linux服務器問題場景分析思路及工具箱????

圖3 io 異常分解

io scheduler

cfq deadline noop

blktrace & blkparser

當意外的io 延遲發生,需要深入了解io延遲分布,需要使用blktrace & blkparser 工具進行細致分析

dd

學會合理使用oflag標志 sync 同步刷出數據 direct 繞過pagecache

fio

用來標定系統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


du & df

面向塊占用及文件系統占用的查詢分析

strace 可以看出兩個命令原理的差異:df 讀取文件系統信息,du stat 各個文件然后累加

兩者出入較大需進一步考察:
是否存在空洞?
是否一個文件用戶已經看不到但是文件系統還沒有真正刪除?(就是打開文件被刪除的情況??lsof?+L1)
是否被某些掛載點隱藏了之前的目錄文件?
df?顯示錯誤的話懷疑是否fs損壞?

?

網絡異常場景

云平臺linux服務器問題場景分析思路及工具箱

4 網絡異常分析

ethtool
ethtool?-S
關注drop??error


tc 統計檢查
tc?-s?-d?qd
關注包drop情況
ss netstat iftop
常用連接查看
netstat?-ntp
netstat?-ntpl
ss?-ie
tcpdump
  • -i 待抓取的網口名字

  • -w 抓包文件,可以是時間格式化串

  • -G 回滾時長,單位秒

  • -c 抓取多少個包后退出

  • -s 抓取部分報文,單位字節

  • -r 讀取抓包文件離線分析

  • -z 調用gzip等工具做壓縮

  • -Z 切換user 運行,默認是tcpdump

  • -B 設置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

宕機場景分析

云平臺linux服務器問題場景分析思路及工具箱

圖5 宕機場景分析

dropwatch
crash工具
  • log 查看宕機關聯日志

  • bt 查看宕機位置

  • sys 查看基本信息

crash??vmcore??vmlinux
vmlinux?來自于kernel?debuginfo包,是帶調試信息的二進制內核鏡像
如果系統未正確生成vmcore,?需檢查?/etc/kdump.conf?配置及其中的設定vmcore?路徑此處討論已開始涉及內核態問題,常見異常分析領域不再展開

?

總結

本文場景化地總結了云平臺幾類常見的linux server異常分析思路及toolset, 篇幅所限無法面面俱到,但如開篇提到,真正的快速有效的問題判別定位離不開對系統領域的熟悉與細致縝密的判斷,以場景化方式靈活地運用好工具箱,達到由表及里,由淺入深的理解系統,快速高效解決線上問題。?Havefun:)

?

關于作者

謝英豪 ?蘇寧科技集團云平臺中心高級工程師,長期耕耘于linux內核及操作系統的支撐領域,保障蘇寧云環境線上海量?kvm?server farm 的穩定高效運行.

?

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

磐石市| 怀柔区| 南通市| 桂平市| 蒲江县| 皋兰县| 峨山| 宜宾市| 汝州市| 武城县| 若羌县| 丰顺县| 土默特左旗| 霍城县| 吉林省| 河源市| 泸定县| 玛纳斯县| 民县| 滨州市| 江陵县| 思南县| 姚安县| 广南县| 高雄县| 西乌珠穆沁旗| 墨竹工卡县| 寿阳县| 太仆寺旗| 兰溪市| 滁州市| 磐石市| 越西县| 平和县| 迁西县| 刚察县| 剑阁县| 霍林郭勒市| 收藏| 邛崃市| 延庆县|