松花皮蛋的黑板報
  • 分享在京東工作的技術感悟,還有JAVA技術和業內最佳實踐,大部分都是務實的、能看懂的、可復現的

掃一掃
關注公眾號

快速定位CPU性能問題的套路

博客首頁文章列表 松花皮蛋me 2019-03-10 11:07

一、CPU性能指標

1、CPU使用率:描述了非空閑時間占比總CPU時間的百分比,根據CPU上運行任務的不同,又被分為用戶CPU、系統CPU、等待IOCPU、軟中斷和硬中斷

2、平均負載:描述了系統的平均活躍進程數,反應了系統過去1、5、15分鐘的平均負載

3、進程上下文切換:無法獲取資源而導致的自愿上下文切換。被系統強制調度導致的非自愿上下文切換

4、CPU緩存的命中率:CPU緩存的速度介于CPU和內存之間,緩存的是熱點的內存數據,緩存分為L1\L2\L3等三級緩存,緩存大小依次增大,性能反之

二、性能工具

三、套路

通過這張圖可以發現top\vmstat\pidstat基本上包含了重要的CPU性能指標

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

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

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

另外我們還可以通過perf工具對性能采樣,結合火焰圖報告進行調用分析https://github.com/brendangregg/FlameGraph

黑龙江6+1开奖结果查询