如何定位CPU瓶頸?

2022-07-08 13:39:22 字數 382 閱讀 2416

cpu是通常大家最先關注的效能指標,巨集觀維度有核的cpu使用率,微觀有函式的cpu cycle數,根據效能的模型,效能規格與cpu使用率是互相關聯的,規格越高,cpu使用率越高,但是處理器的效能往往又受到記憶體頻寬、cache、發熱等因素的影響,所以cpu使用率和規格引數之間並不是簡單的線性關係,所以效能規格翻倍並不能簡單地翻譯成我們的cpu使用率要優化一倍。

至於cpu瓶頸的定位工具,最有名也是最有用的工具就是perf,它是效能分析的第一步,可以幫我們找到系統的熱點函式。就像人看病一樣,只知道症狀是不夠的,需要通過醫療機器進一步分析**,才能對症下藥。

所以我們通過效能分析工具pmu或者其他工具去進一步分析cpu熱點的原因比如是指令數本身就比較多,還是cache miss導致的等,這樣在做效能優化的時候不會走偏。

MYSQL 效能瓶頸定位

查詢與索引優化分析 在優化mysql時,通常需要對資料庫進行分析,常見的分析手段有慢查詢日誌,explain 分析查詢,profiling分析以及show命令查詢系統狀態及系統變數,通過定位分析效能的瓶頸,才能更好的優化資料庫系統的效能。1 效能瓶頸定位show命令 我們可以通過show命令檢視my...

程式效率瓶頸 CPU檢查

在伺服器程式開發中,遇到比較頭痛的問題是程式的穩健性和效率問題。本博文針對效率問題中的cpu瓶頸。乙個呼叫占用cpu比較大,直觀的指標是其耗時比較長,因此只要確認每個呼叫的耗時。方法一 strace 通過strace命令,可以檢視程式中每個系統呼叫的耗時情況。具體使用 strace c demo 方...

如何定位占用cpu過高的執行緒

如何定位占用cpu過高的執行緒 近來發現平台應用響應越來越慢,通過top命令發現,cpu佔用率越來越高 1.首先根據top命令,發現占用cpu最高的程序pid 3075.通過ps aux grep pid命令,進一步檢視當前程序的具體資訊。2.顯示當前程序下的所有執行緒列表 找到耗時最高的執行緒ti...