Linux性能分析


系統性能分析:

1、整體系統CPU利用率

2、內存利用率

3、磁盤I/O的利用率和延遲

4、網絡利用率

 

1、CPU定位分析

在系統的CPU分析定位過程中,當系統的CPU利用率大於50%時,我們就需要注意了;當系統的CPU利用率大於70%的時候,就需要密切關注;當系統的CPU的利用率高於90%的時候,情況就比較嚴重了。通過這些監控分析情況,我們可以用命令有vmstat、sar、dstat、mpstat、top、ps等命令來進行統計分析。

模塊

類型

度量方法

衡量標准

CPU

使用情況

1、通過vmstat 統計1-id的計數

2、通過sar -u 統計1-%idle的計數

3、通過dstat命令 統計1-id1的計數

4、通過mpstat -P ALL統計1-%idle的計數

5、通過ps命令統計cpu的計數

注意>=50%

告警>=70%

嚴重>=90%

CPU

滿載

6、vmstat的r的計數 > CPU邏輯數

7、sar -q, “runq-sz” >CPU邏輯數

8、dstat -p, “run” > CPU邏輯數

運行的隊列大於1時,說明已經有一定的負載了,不過這個值也不絕對,需要進一步分析其他的資源情況來確定CPU是否已經滿載符合運行

CPU

錯誤

9、通過perf工具去捕獲處理器的錯誤信息,需要處理器支持

需處理器支持

 

2、內存定位分析

在系統的內存分析定位過程中,當系統內存的利用率大於50%的時候,我們就需要注意了;當系統的內存大於70%的時候,就需要密切關注;當系統的內存利用率高於80%的時候,情況就比較嚴重。通過這些監控分析,可以用vmstat、sar、dstat、free、top、ps等命令來進行統計分析。

模塊

類型

度量方法

衡量標准

內存

使用情況

1、free命令查看使用情況

2、vmstat命令查看使用情況

3、sar -r 命令查看使用情況

4、ps命令查看使用情況

注意>=50%

告警>=70%

嚴重>=80%

內存

滿載

5、vmstat的si/so比例輔助swpad和free利用

6、sar -W 查看次缺頁數

7、查看內核日志有無OOM機制kill進程

8、dmesg | grep killed

1、so數值大,且swpad已經占比很高,內存肯定已經飽和

2、sar命令缺頁以為不停地和swap打交道,證明內存已經飽和

內存

錯誤

9、查看內核有無physical failures

10、通過工具如valgrind等進行檢查

有計數

 

3、網絡定位分析

衡量系統網絡的使用情況,可以使用的命令有sar、ifconfig、netstat以及查看net的dev速率,通過查看收發包的吞吐率達到網卡的最大上限(問題:網絡的最大上限怎么看呢?),網絡數據報文有因為這類原因而引發的丟包、阻塞等現象都證明當前網絡可能存在瓶頸。在進行性能測試時,為了減小網絡的影響,一般我們都是在局域網中進行測執行。

模塊

類型

度量方法

衡量標准

網絡

使用情況

1、sar -n DEV 的收發計數大於網卡上限

2、ifconfig RX/TX 帶寬超過網卡上限

3、cat /proc/net/dev 的速率超過上限

4、nicstat 的util基本滿負載

1、收發包的吞吐率達到網卡上限

2、有延遲

3、有丟包

4、有阻塞

網絡

滿載

5、ifconfig dropped 有計數

6、netstat -s “segments restransmited”有計數

7、sar -n DEV rxdrop txdrop 有計數

統計的丟包有計數證明已經滿載了

網絡

錯誤

8、ifconfig, ‘errors’

9、netstat -I, “RX-ERR”/”TX-ERR”

10、sar -n EDEV, “rxerr/s”,”txerr/s”

11、ip -s link, “errors”

錯誤有計數

 

4、IO定位分析

衡量系統IO的使用情況,可以使用sar、iostat、iotop等命令進行系統級別的IO監控分析。當發現IO的利用率大於40%時候,就需要注意了;當使用率大於60%則處於告警階段;大於80%時IO就會出現阻塞了。

模塊

類型

度量方法

度量標准

IO

使用情況

1、iostat -xz, “%util”

2、sar -d, “%util”

3、iotop 的利用率很高

4、cat /proc/pid/sched|grep iowait

注意>=40%

告警>=60%

嚴重>=80%

IO

滿載

5、iostat -xnz 1, “avgqu-sz”>1

6、iostat await>70

IO已經有滿載嫌疑

IO

錯誤

7、dmesg 查看io錯誤

8、smartctl /dev/sda

有信息


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM