linux程序CPU使用率高問題定位

2021-10-19 13:11:21 字數 865 閱讀 1807

使用工具:perf,flamegraph

perf

內置於linux核心原始碼樹中的效能剖析工具。

工作原理:對監控事件進行取樣。

brendan gregg的個人**上使用perf工具的案例:

flamegraph

操作流程:

$ perf record -e cycles -g –call-graph dwarf –p pid –o perf.data
ctrl+c結束執行(執行時間越長取樣資料也越大,可能導致後面分析存在問題。),在當前目錄下會生成程序id為pid的取樣資料perf.data。

執行完成後可以先用perf report命令檢視下,確認下有沒有錯誤。

$ perf report -g -i perf.data
$ perf script -i perf.data &

> perf.unfold

對perf.data進行解析,執行完成後在當前目錄下生成乙個名為perf.unfold

的檔案。

$ ./flamegraph-master/stackcollapse-perf.pl perf.unfold &

> perf.folded

摺疊perf.unfold中的符號,生成檔案perf.folded。

$ ./flamegraph.pl perf.folded > perf.svg
生成svg火焰圖,svg火焰圖可以通過瀏覽器開啟,用於確認熱點執行路徑。

cpu使用率低負載高

cpu低而負載高也就是說等待磁碟i o完成的程序過多,就會導致佇列長度過大,這樣就體現到負載過大了,但實際是此時cpu被分配去執行別的任務或空閒,具體場景有如下幾種。場景一 磁碟讀寫請求過多就會導致大量i o等待 上面說過,cpu的工作效率要高於磁碟,而程序在cpu上面執行需要訪問磁碟檔案,這個時候...

Linux計算cpu使用率

計算總的 cpu 使用率 totalcpuuse 1 取樣兩個足夠短的時間間隔的 cpu 快照,即讀取 proc stat 檔案,獲取兩個時間點的下列資料 cput1 user1,nice1,system1,idle1,iowait1,irq1,softirq1,stealstolen1,guest...

微軟 Windows 10的高CPU使用率問題已解

微軟今天給出公告稱,windows10 的乙個更新補丁www.cppcns.com導致cpu使用率過高的錯誤已經解決,不過暫時他們還沒有給出補丁來解決。至於為何引起cpu佔用率過高的問題,微軟承認輸入法編輯器 ime 出現問題,是導致其無響應或產生高cpu使用率的主因。該問題最初被認為是由於 9 月...