最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

深入理解Linux問(wèn)題分析與性能優(yōu)化(超詳細(xì)~)

2022-09-16 15:25 作者:Linux遠(yuǎn)航者  | 我要投稿

排查順序

整體情況:

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

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

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

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

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

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

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

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

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

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

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

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

  13. 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)存占用;

  14. 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)核前20slab的占用;

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

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

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

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

  4. lsof -p 進(jìn)程號(hào)查看進(jìn)程打開(kāi)的文件;

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

協(xié)議棧分析,連接/協(xié)議棧狀態(tài):

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

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

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

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

  5. 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)核技術(shù)交流群:【865977150】或者系統(tǒng)課程學(xué)習(xí)咨詢(xún)微信【2207032995】,備注一下(玩轉(zhuǎn)Linux內(nèi)核);整理了一些個(gè)人覺(jué)得比較好的學(xué)習(xí)書(shū)籍、視頻資料共享在群文件里面,有需要的可以自行添加哦?。。?/blockquote>

性能分析工具

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

CPU分析思路

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

內(nèi)存分析思路

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


IO分析思路

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

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

從網(wǎng)絡(luò)的角度來(lái)說(shuō),主要性能指標(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)測(cè)試工具

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

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

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

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


深入理解Linux問(wèn)題分析與性能優(yōu)化(超詳細(xì)~)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
徐汇区| 盐边县| 宁远县| 芷江| 临湘市| 微博| 青浦区| 沈阳市| 双峰县| 巩留县| 霞浦县| 清苑县| 如皋市| 波密县| 英超| 香河县| 金山区| 河津市| 玉山县| 马边| 东城区| 兴仁县| 渭源县| 阜平县| 仪陇县| 汉源县| 剑河县| 大竹县| 射洪县| 河源市| 始兴县| 陆川县| 深圳市| 香河县| 若羌县| 荔波县| 饶平县| 佛学| 清流县| 洛宁县| 松江区|