日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux 问题分析,性能优化

發(fā)布時(shí)間:2025/3/20 linux 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux 问题分析,性能优化 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

目錄:

  • 排查順序

  • 方法論

  • 性能分析工具

  • CUP 分析思路

  • 內(nèi)存分析思路

  • IO 分析思路

  • 網(wǎng)絡(luò)分析思路

  • 基準(zhǔn)測試工具

  • 歡迎關(guān)注微信公眾號(hào)【廈門微思網(wǎng)絡(luò)】。www.xmws.cn專業(yè)IT認(rèn)證培訓(xùn)19周年
    主要課程:思科、華為、紅帽、ORACLE、VMware、CISP、PMP等認(rèn)證培訓(xùn)及考

排查順序

整體情況:

  • top / htop / atop?命令查看進(jìn)程/線程、CPU、內(nèi)存使用情況,CPU 使用情況;

  • dstat 2查看CPU、磁盤IO、網(wǎng)絡(luò)IO、換頁、中斷、切換、系統(tǒng) I/O 狀態(tài);

  • vmstat 2查看內(nèi)存使用情況、內(nèi)存狀態(tài);

  • iostat -d -x 2查看所有磁盤的 IO 情況,系統(tǒng) I/O 狀態(tài);

  • iotop?查看 IO 靠前的進(jìn)程,系統(tǒng)的 I/O 狀態(tài);

  • perf top?查看占用 CPU 最多的函數(shù),CPU 使用情況;

  • perf record -ag --sleep 15;perf report?查看CPU事件占比,調(diào)用棧,CPU 使用情況;

  • sar -n DEV 2查看網(wǎng)卡的吞吐,網(wǎng)卡狀態(tài);

  • /usr /share /bcc /tools /filetop -C查看每個(gè)文件的讀寫情況,系統(tǒng)的 I/O 狀態(tài);

  • /usr /share /bcc /tools /opensnoop?顯示正在被打開的文件,系統(tǒng)的 I/O 狀態(tài);

  • mpstat -P ALL 1單核 CPU 是否被打爆;

  • ps aux --sort=-%cpu?按 CPU 使用率排序,找出 CPU 消耗最多進(jìn)程;

  • ps -eo pid,comm,rss | awk '{m=$3/1e6;s["*"]+=m;s[$2]+=m} END{for (n in s) printf"%10.3f GB? %s\n",s[n],n}' | sort -nr | head -20?統(tǒng)計(jì)前20內(nèi)存占用;

  • awk 'NF>3{s["*"]+=s[$1]=$3*$4/1e6} END{for (n in s) printf"%10.1f MB? %s\n",s[n],n}' /proc/slabinfo | sort -nr | head -20?統(tǒng)計(jì)內(nèi)核前20? slab 的占用;

  • 進(jìn)程分析,進(jìn)程占用的資源:

  • pidstat 2 -p 進(jìn)程號(hào)查看可疑進(jìn)程CPU使用率變化情況;

  • pidstat -w -p 進(jìn)程號(hào) 2查看可疑進(jìn)程的上下文切換情況;

  • pidstat -d -p 進(jìn)程號(hào) 2查看可疑進(jìn)程的IO情況;

  • lsof -p 進(jìn)程號(hào)查看進(jìn)程打開的文件;

  • strace -f -T -tt -p 進(jìn)程號(hào)顯示進(jìn)程發(fā)起的系統(tǒng)調(diào)用;

  • 協(xié)議棧分析,連接/協(xié)議棧情況:

    ethtool -S?查看網(wǎng)卡硬件情況;

    cat /proc/net/softnet_stat/ifconfig eth1?查看網(wǎng)卡驅(qū)動(dòng)情況;

    netstat -nat|awk '{print awk $NF}'|sort|uniq -c|sort -n查看連接狀態(tài)分布;

    ss -ntp或者netstat -ntp查看連接隊(duì)列;

    netstat -s?查看協(xié)議棧情況;

    方法論

    RED 方法:監(jiān)控服務(wù)的請(qǐng)求數(shù)(Rate)、錯(cuò)誤數(shù)(Errors)、響應(yīng)時(shí)間(Duration)。Weave Cloud在監(jiān)控微服務(wù)性能時(shí)提出的思路。

    USE方法:監(jiān)控系統(tǒng)資源的使用率(Utilization)、飽和度(Saturation)、錯(cuò)誤數(shù)(Errors)。
    ?


    ?

    性能分析工具



    Linux 內(nèi)核的各個(gè)子系統(tǒng)出發(fā),匯總了對(duì)各個(gè)子系統(tǒng)進(jìn)行性能分析時(shí),你可以選擇的工具。不過,雖然這個(gè)圖是性能分析最好的參考資料之一,它其實(shí)還不夠具體。比如,當(dāng)你需要查看某個(gè)性能指標(biāo)時(shí),這張圖里對(duì)應(yīng)的子系統(tǒng)部分,可能有多個(gè)性能工具可供選擇。但實(shí)際上,并非所有這些工具都適用,具體要用哪個(gè),還需要你去查找每個(gè)工具的手冊(cè),對(duì)比分析做出選擇。

    CPU 分析思路

    首先從 CPU 的角度來說,主要的性能指標(biāo)就是 CPU 的使用率、上下文切換以及 CPU Cache 的命中率等。下面這張圖就列出了常見的 CPU 性能指標(biāo)。


    ?


    ?


    ?

    內(nèi)存分析思路

    接著我們來看內(nèi)存方面。從內(nèi)存的角度來說,主要的性能指標(biāo),就是系統(tǒng)內(nèi)存的分配和使用、進(jìn)程內(nèi)存的分配和使用以及 SWAP 的用量。下面這張圖列出了常見的內(nèi)存性能指標(biāo)。


    ?


    ?

    IO 分析思路

    從文件系統(tǒng)和磁盤 I/O 的角度來說,主要性能指標(biāo),就是文件系統(tǒng)的使用、緩存和緩沖區(qū)的使用,以及磁盤 I/O 的使用率、吞吐量和延遲等。下面這張圖列出了常見的 I/O 性能指標(biāo)。


    ?



    ?


    ?

    網(wǎng)絡(luò)分析思路

    從網(wǎng)絡(luò)的角度來說,主要性能指標(biāo)就是吞吐量、響應(yīng)時(shí)間、連接數(shù)、丟包數(shù)等。根據(jù) TCP/IP 網(wǎng)絡(luò)協(xié)議棧的原理,我們可以把這些性能指標(biāo),進(jìn)一步細(xì)化為每層協(xié)議的具體指標(biāo)。這里我同樣用一張圖,分別從鏈路層、網(wǎng)絡(luò)層、傳輸層和應(yīng)用層,列出了各層的主要指標(biāo)。



    ?


    ?

    基準(zhǔn)測試工具

    除了性能分析外,很多時(shí)候,我們還需要對(duì)系統(tǒng)性能進(jìn)行基準(zhǔn)測試。比如,

    • 在文件系統(tǒng)和磁盤 I/O 模塊中,我們使用 fio 工具,測試了磁盤 I/O 的性能。

    • 在網(wǎng)絡(luò)模塊中,我們使用 iperf、pktgen 等,測試了網(wǎng)絡(luò)的性能。

    • 而在很多基于 Nginx 的案例中,我們則使用 ab、wrk 等,測試 Nginx 應(yīng)用的性能。
      ?

    END

    歡迎關(guān)注微信公眾號(hào)【廈門微思網(wǎng)絡(luò)】。www.xmws.cn專業(yè)IT認(rèn)證培訓(xùn)19周年
    主要課程:思科、華為、紅帽、ORACLE、VMware、CISP、PMP等認(rèn)證培訓(xùn)及考證

    ?

    總結(jié)

    以上是生活随笔為你收集整理的Linux 问题分析,性能优化的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。