天天看點

cpu線程_Linux 線程CPU占用率過高定位分析

cpu線程_Linux 線程CPU占用率過高定位分析

在Linux開發中經常會與多線程打交道,是以多線程開發與調試就很重要

下邊說下Linux調試過程中CPU占用率過高的情況怎麼調試

CPU占用過高,模拟CPU占用過高的情況

先上一段代碼:

#include 
           

用下邊的指令編譯( linux标準庫沒有pthread.h 要連結之-lpthread):

g++ -o allen_test allen_test.cpp -lpthread

執行可執行檔案:

./allen_test

由代碼可知,線程中沒有進行睡眠,會獨占程序的時間片,導緻CPU使用率過高,現在開始定位

第一步:使用top指令檢視程式程序id
cpu線程_Linux 線程CPU占用率過高定位分析
第二步:top -H -p 33401 定位CPU占用過高的線程id
cpu線程_Linux 線程CPU占用率過高定位分析
第三步:strace -p33411定位線程堆棧
cpu線程_Linux 線程CPU占用率過高定位分析

----------------------------------------------------------------------------------------

2020年7月21日 晚 我的首發平台是微信公号【CodeAllen】,喜歡的小夥伴歡迎關注并回複“1024”擷取資料

繼續閱讀