1.CPU各項(xiàng)指標(biāo)
可以從 /proc/stat中查看CPU的各項(xiàng)指標(biāo)
/proc/stat提供的就是系統(tǒng)的 CPU 和任務(wù)統(tǒng)計(jì)信息
?/proc/[pid]/stat看單個(gè)進(jìn)程的CPU使用情況
# 只保留各個(gè) CPU 的數(shù)據(jù)
$ cat /proc/stat | grep ^cpu
user(通常縮寫(xiě)為 us),代表用戶態(tài) CPU 時(shí)間。注意,它不包括下面的 nice 時(shí)間兄旬,但
包括了 guest 時(shí)間。
nice(通常縮寫(xiě)為 ni)总珠,代表低優(yōu)先級(jí)用戶態(tài) CPU 時(shí)間,也就是進(jìn)程的 nice 值被調(diào)整
為 1-19 之間時(shí)的 CPU 時(shí)間勘纯。這里注意局服,nice 可取值范圍是 -20 到 19,數(shù)值越大驳遵,優(yōu)
先級(jí)反而越低淫奔。
system(通常縮寫(xiě)為 sys)堤结,代表內(nèi)核態(tài) CPU 時(shí)間唆迁。
idle(通常縮寫(xiě)為 id)竞穷,代表空閑時(shí)間唐责。注意,它不包括等待 I/O 的時(shí)間(iowait)瘾带。
iowait(通呈蟾纾縮寫(xiě)為 wa),代表等待 I/O 的 CPU 時(shí)間月弛。
irq(通畴日担縮寫(xiě)為 hi),代表處理硬中斷的 CPU 時(shí)間帽衙。
softirq(通巢嗽恚縮寫(xiě)為 si),代表處理軟中斷的 CPU 時(shí)間厉萝。
steal(通郴衅縮寫(xiě)為 st),代表當(dāng)系統(tǒng)運(yùn)行在虛擬機(jī)中的時(shí)候谴垫,被其他虛擬機(jī)占用的
CPU 時(shí)間章母。
guest(通称耄縮寫(xiě)為 guest)嗡官,代表通過(guò)虛擬化運(yùn)行其他操作系統(tǒng)的時(shí)間,也就是運(yùn)行虛
擬機(jī)的 CPU 時(shí)間察滑。
guest_nice(通城巴洌縮寫(xiě)為 gnice)蚪缀,代表以低優(yōu)先級(jí)運(yùn)行虛擬機(jī)的時(shí)間秫逝。
2.CPU 使用率計(jì)算公式
CPU 使用率就是除了空閑時(shí)間外的其他時(shí)間占總 CPU 時(shí)間的百分比
性能工具計(jì)算 CPU 使用率:
取一段間隔計(jì)算平均的使用率,不同的性能工具間隔差不同
3.如何查看CPU使用率
? ?3.1從/proc/stat 和 /proc/[pid]/stat中看
? ? ?3.2 使用性能工具TOP询枚,PS
top 顯示了系統(tǒng)總體的 CPU 和內(nèi)存使用情況违帆,以及各個(gè)進(jìn)程的資源使用情況。
ps 則只顯示了每個(gè)進(jìn)程的資源使用情況金蜀。
? ? 3.3?pidstat查看每個(gè)進(jìn)程 CPU 使用情況
4.CPU過(guò)高如何分析
4.1使用top刷后、ps、pidstat 等工具渊抄,找到 CPU 使用率較高的進(jìn)程尝胆。
4.2使用 perf 進(jìn)程里的具體函數(shù)
用戶 CPU 和 Nice CPU 高,說(shuō)明用戶態(tài)進(jìn)程占用了較多的 CPU抒线,所以應(yīng)該著重排查進(jìn)
程的性能問(wèn)題班巩。
系統(tǒng) CPU 高渣慕,說(shuō)明內(nèi)核態(tài)占用了較多的 CPU嘶炭,所以應(yīng)該著重排查內(nèi)核線程或者系統(tǒng)調(diào)
用的性能問(wèn)題。
I/O 等待 CPU 高逊桦,說(shuō)明等待 I/O 的時(shí)間比較長(zhǎng)眨猎,所以應(yīng)該著重排查系統(tǒng)存儲(chǔ)是不是出現(xiàn)
了 I/O 問(wèn)題。
軟中斷和硬中斷高强经,說(shuō)明軟中斷或硬中斷的處理程序占用了較多的 CPU睡陪,所以應(yīng)該著重
排查內(nèi)核中的中斷服務(wù)程序
4.3
execsnoop 分析短時(shí)進(jìn)程
使用場(chǎng)景:
第一,應(yīng)用里直接調(diào)用了其他二進(jìn)制程序匿情,這些程序通常運(yùn)行時(shí)間比較短兰迫,通過(guò) top 等工具也不容易發(fā)現(xiàn)。
第二炬称,應(yīng)用本身在不停地崩潰重啟汁果,而啟動(dòng)過(guò)程的資源初始化,很可能會(huì)占用相當(dāng)多的CPU玲躯。