Centos7.6下CPU使用率過高的排查方法
1.在 centos 系統(tǒng)下,使用 top 命令查看 CPU 使用情況
us(user):表示 CPU 在用戶運行的時間百分比,通常用戶 CPU 高表示有應用程序比較繁忙。典型的用戶程序有:數(shù)據(jù)庫、Web 服務器等。 sy(sys):表示 CPU 在內(nèi)核態(tài)運行的時間百分比(不包括中斷),通常內(nèi)核態(tài) CPU 越低越好,否則表示系統(tǒng)存在某些瓶頸。 ni(nice):表示用 nice 修正進程優(yōu)先級的用戶進程執(zhí)行的 CPU 時間。nice 是一個進程優(yōu)先級的修正值,如果進程通過它修改了優(yōu)先級,則會單獨統(tǒng)計 CPU 開銷。 id(idle):表示 CPU 處于空閑態(tài)的時間占比,此時,CPU 會執(zhí)行一個特定的虛擬進程,名為 System Idle Process。 wa(iowait):表示 CPU 在等待 I/O 操作完成所花費的時間,通常該指標越低越好,否則表示 I/O 存在瓶頸,可以用 iostat 等命令做進一步分析。 hi(hardirq):表示 CPU 處理硬中斷所花費的時間。硬中斷是由外設硬件(如鍵盤控制器、硬件傳感器等)發(fā)出的,需要有中斷控制器參與,特點是快速執(zhí)行。 si(softirq):表示 CPU 處理軟中斷所花費的時間。軟中斷是由軟件程序(如網(wǎng)絡收發(fā)、定時調(diào)度等)發(fā)出的中斷信號,特點是延遲執(zhí)行。 st(steal):表示 CPU 被其他虛擬機占用的時間,僅出現(xiàn)在多虛擬機場景。如果該指標過高,可以檢查下宿主機或其他虛擬機是否異常。
2.通過 top 命令找到 CPU 消耗最多的進程號
3.通過 top -Hp 進程號命令找到 CPU 消耗最多的線程號(列名仍然為 PID)
4.通過printf "%x\n" 線程號命令輸出該線程號對應的 16 進制數(shù)字
5.PID進程在內(nèi)核調(diào)用情況 perf top -p 7574 (如果提示perf: command not found,使用yum install perf安裝)
6.查看到CPU占用較高的程序之后就可以進行代碼的優(yōu)化調(diào)整或者程序的中止
版權(quán)保護: 本文「Centos7.6下CPU使用率過高的排查方法」由 云主機配置專家 原創(chuàng),轉(zhuǎn)載請保留鏈接: http://www.iqcg.cn/docs/system/895.html