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

1、性能指標

一、性能指標思惟導圖

二、CPU使用率

三、CPU平均負載

四、CPU緩存的命中率

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

 

2、性能工具

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

一、根據指標找工具

二、根據工具找指標

3、把性能指標和工具聯繫起來

4、如何迅速分析CPU瓶頸

經過這張圖你能夠發現,這三個命令,幾乎包含了全部主要的CPU性能指標tcp

一、從 top 的輸出能夠獲得各類 CPU 使用率以及殭屍進程和平均負載等信息

一、pidstat 輸出的進程用戶 CPU 使用率升高,會致使 top 輸出的用戶 CPU 使用率升高。因此,當發現 top 輸出的用戶 CPU 使用率有問題時,能夠跟 pidstat 的輸出作對比,函數

觀察是不是某個進程致使的問題。工具

二、而找出致使性能問題的進程後,就要用進程分析工具來分析進程的行爲,好比使用 strace 分析系統調用狀況,以及使用perf 分析調用鏈中各級函數的執行狀況。性能

二、從 vmstat 的輸出能夠獲得上下文切換次數、中斷次數、運行狀態和不可中斷狀態的進程數。

一、top 輸出的平均負載升高,能夠跟 vmstat輸出的運行狀態和不可中斷狀態的進程數作對比,觀察是哪一種進程致使的負載升高。blog

二、若是是不可中斷進程數增多了,那麼就須要作 I/O 的分析,也就是用 dstat 或 sar 等工具,進一步分析 I/O...進程

三、若是是運行狀態進程數增多了,那就須要回到 top 和 pidstat,找出這些處於運行狀態的究竟是什麼進程,而後再用進程分析工具,作進一步分析。內存

三、從 pidstat 的輸出能夠獲得進程的用戶 CPU 使用率、系統 CPU 使用率、以及自願上下文切換和非自願上下文切換狀況

當發現 top 輸出的軟中斷 CPU 使用率升高時,能夠查看/proc/softirqs 文件中各類類型軟中斷的變化狀況,肯定究竟是哪一種軟中斷出的問題思維導圖

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

相關文章
相關標籤/搜索