Linux性能優化實戰學習筆記:第十一講


一、性能指標

1、性能指標思維導圖

2、CPU使用率

3、CPU平均負載

4、CPU緩存的命中率

CPU 在訪問內存的時候,免不了要等待內存的響應。為了協調這兩者巨大的性能差距,CPU 緩存(通常是多級緩存)就出現了

 

二、性能工具

掌握了 CPU 的性能指標,我們還需要知道,怎樣去獲取這些指標,也就是工具的使用

1、根據指標找工具

2、根據工具找指標

三、把性能指標和工具聯系起來

四、如何迅速分析CPU瓶頸

通過這張圖你可以發現,這三個命令,幾乎包含了所有主要的CPU性能指標

1、從 top 的輸出可以得到各種 CPU 使用率以及僵屍進程和平均負載等信息

1、pidstat 輸出的進程用戶 CPU 使用率升高,會導致 top 輸出的用戶 CPU 使用率升高。所以,當發現 top 輸出的用戶 CPU 使用率有問題時,可以跟 pidstat 的輸出做對比,

觀察是否是某個進程導致的問題。

2、而找出導致性能問題的進程后,就要用進程分析工具來分析進程的行為,比如使用 strace 分析系統調用情況,以及使用perf 分析調用鏈中各級函數的執行情況。

2、從 vmstat 的輸出可以得到上下文切換次數、中斷次數、運行狀態和不可中斷狀態的進程數。

1、top 輸出的平均負載升高,可以跟 vmstat輸出的運行狀態和不可中斷狀態的進程數做對比,觀察是哪種進程導致的負載升高。

2、如果是不可中斷進程數增多了,那么就需要做 I/O 的分析,也就是用 dstat 或 sar 等工具,進一步分析 I/O...

3、如果是運行狀態進程數增多了,那就需要回到 top 和 pidstat,找出這些處於運行狀態的到底是什么進程,然后再用進程分析工具,做進一步分析。

3、從 pidstat 的輸出可以得到進程的用戶 CPU 使用率、系統 CPU 使用率、以及自願上下文切換和非自願上下文切換情況

當發現 top 輸出的軟中斷 CPU 使用率升高時,可以查看/proc/softirqs 文件中各種類型軟中斷的變化情況,確定到底是哪種軟中斷出的問題

比如,發現是網絡接收中斷導的問題,那就可以繼續用網絡分析工具 sar 和 tcpdum來分析


免責聲明!

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



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