CPU 在訪問內存的時候,免不了要等待內存的響應。爲了協調這二者巨大的性能差距,CPU 緩存(一般是多級緩存)就出現了緩存
掌握了 CPU 的性能指標,咱們還須要知道,怎樣去獲取這些指標,也就是工具的使用網絡
經過這張圖你能夠發現,這三個命令,幾乎包含了全部主要的CPU性能指標tcp
一、pidstat 輸出的進程用戶 CPU 使用率升高,會致使 top 輸出的用戶 CPU 使用率升高。因此,當發現 top 輸出的用戶 CPU 使用率有問題時,能夠跟 pidstat 的輸出作對比,函數
觀察是不是某個進程致使的問題。工具
二、而找出致使性能問題的進程後,就要用進程分析工具來分析進程的行爲,好比使用 strace 分析系統調用狀況,以及使用perf 分析調用鏈中各級函數的執行狀況。性能
一、top 輸出的平均負載升高,能夠跟 vmstat輸出的運行狀態和不可中斷狀態的進程數作對比,觀察是哪一種進程致使的負載升高。blog
二、若是是不可中斷進程數增多了,那麼就須要作 I/O 的分析,也就是用 dstat 或 sar 等工具,進一步分析 I/O...進程
三、若是是運行狀態進程數增多了,那就須要回到 top 和 pidstat,找出這些處於運行狀態的究竟是什麼進程,而後再用進程分析工具,作進一步分析。內存
當發現 top 輸出的軟中斷 CPU 使用率升高時,能夠查看/proc/softirqs 文件中各類類型軟中斷的變化狀況,肯定究竟是哪一種軟中斷出的問題思維導圖
好比,發現是網絡接收中斷導的問題,那就能夠繼續用網絡分析工具 sar 和 tcpdum來分析