国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

CPU 使用率和負(fù)載Load

這篇具有很好參考價(jià)值的文章主要介紹了CPU 使用率和負(fù)載Load。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

優(yōu)質(zhì)博文:IT-BLOG-CN

一、CPU 使用率

CPU使用率是 CPU處理非空閑任務(wù)所花費(fèi)的時(shí)間百分比 。例如單核CPU 1s內(nèi)非空閑態(tài)運(yùn)行時(shí)間為0.8s,那么它的CPU使用率就是80%;雙核CPU 1s內(nèi)非空閑態(tài)運(yùn)行時(shí)間分別為0.4s0.6s,那么,總體CPU使用率就是(0.4s + 0.6s) / (1s * 2) = 50%,其中2表示CPU核數(shù),多核CPU同理。CPU使用率只能在指定的時(shí)間間隔內(nèi)測(cè)量。我們可以通過(guò)將空閑時(shí)間的百分比從100中減去來(lái)確定CPU使用率。

Linux中,進(jìn)程分為三種狀態(tài),一種是阻塞的進(jìn)程blocked process,一種是可運(yùn)行的進(jìn)程runnable process,另外就是正在運(yùn)行的進(jìn)程running process

cpu利用率和cpu負(fù)載,網(wǎng)站架構(gòu) & 性能調(diào)優(yōu),linux,服務(wù)器,網(wǎng)絡(luò),后端,java,性能優(yōu)化,職場(chǎng)和發(fā)展

使用率這個(gè)要結(jié)合時(shí)間片來(lái)說(shuō),從上圖的演變可以看出影響使用率高低的因素不是load的多少,而是在分配給某個(gè)進(jìn)程時(shí)間片時(shí),這個(gè)進(jìn)程是否使用了CPU的計(jì)算能力。在第四分鐘時(shí)候,分配給藍(lán)人1分鐘,但是它什么也沒(méi)干,這1分鐘內(nèi)電話是閑置的沒(méi)有被使用,所以這一分鐘內(nèi)的電話使用率就是0%。但是load3。

當(dāng)然這里就存在一個(gè)統(tǒng)計(jì)周期的問(wèn)題,上圖我們的統(tǒng)計(jì)周期是1分鐘,而分配給每個(gè)人的最小時(shí)間單位也是1分鐘。從計(jì)算機(jī)角度來(lái)說(shuō),單核心CPU,假設(shè)1秒鐘分為100個(gè)時(shí)間片,如果2個(gè)任務(wù),第一個(gè)任務(wù)用了5個(gè)時(shí)間片執(zhí)行完成,另外一個(gè)任務(wù)用了15個(gè)時(shí)間片執(zhí)行完成,所以如果統(tǒng)計(jì)周期是1秒,那么這1秒內(nèi)的CPU使用率就是20%。CPU利用率高不一定負(fù)載高,CPU利用率是一段時(shí)間內(nèi)CPU被占用的情況。

二、CPU Load

CPU負(fù)載定義為在單個(gè)時(shí)間點(diǎn)使用或等待使用一個(gè)內(nèi)核的進(jìn)程數(shù)。在單核系統(tǒng),我們的CPU平均負(fù)載始終低于0.7。這表明每個(gè)需要使用CPU的進(jìn)程都可以立即使用它,而無(wú)需等待。如果CPU平均負(fù)載大于1,則表示有進(jìn)程需要使用CPU,但由于CPU不可用,目前無(wú)法使用。在多處理器系統(tǒng)中高于1的平均負(fù)載不會(huì)成為問(wèn)題,因?yàn)橛懈鄡?nèi)核可用。

cpu利用率和cpu負(fù)載,網(wǎng)站架構(gòu) & 性能調(diào)優(yōu),linux,服務(wù)器,網(wǎng)絡(luò),后端,java,性能優(yōu)化,職場(chǎng)和發(fā)展

上圖的電話亭可以理解為一個(gè)CPU核心。從上圖的過(guò)程中可以看到load的概念,而使用率始終100%。

理想的CPU load是多少:這個(gè)跟你的CPU核心數(shù)量有關(guān),理想情況下一個(gè)核心被一個(gè)進(jìn)程占用,如果你是4個(gè)核心,那么跑4個(gè)進(jìn)程,此時(shí)Load4但是也不高,如果你只有2個(gè)核心,依然跑4個(gè)進(jìn)程,這就意味著有一半進(jìn)程在某一個(gè)時(shí)刻搶不到CPU,這時(shí)候Load還是4,如果是短期狀態(tài)還無(wú)所謂,如果長(zhǎng)期是這個(gè)狀態(tài)你就要注意了。

一般來(lái)說(shuō)只要每個(gè)CPU的當(dāng)前活動(dòng)進(jìn)程數(shù)不大于3那么系統(tǒng)的性能就是良好的,如果每個(gè)CPU的任務(wù)數(shù)大于5,那么就表示這臺(tái)機(jī)器的性能有嚴(yán)重問(wèn)題。

三、CPU 使用率和負(fù)載常用命令

top命令查看CPU使用率

通常,top命令通常用于顯示系統(tǒng)上的活動(dòng)進(jìn)程以及這些進(jìn)程消耗了多少資源。不過(guò),我們可以使用這個(gè)命令來(lái)測(cè)量CPU的狀態(tài):

[root@localhost ~]# top
top - 07:08:31 up  2:41,  1 user,  load average: 1.09, 1.11, 1.30
Tasks: 322 total,   2 running, 320 sleeping,   0 stopped,   0 zombie
%Cpu(s): 10.0 us, 15.0 sy,  0.0 ni, 97.8 id,  0.0 wa,  5.0 hi,  0.0 si,  0.0 st
MiB Mem :   3709.4 total,   1483.1 free,   1402.0 used,    824.4 buff/cache
MiB Swap:   2048.0 total,   2048.0 free,      0.0 used.   2053.4 avail Mem 

參數(shù)說(shuō)明:
【1】us(user):表示CPU在用戶態(tài)運(yùn)行的時(shí)間百分比,通常用戶態(tài)CPU高表示有應(yīng)用程序比較繁忙。典型的用戶態(tài)程序包括:數(shù)據(jù)庫(kù)、Web服務(wù)器等;
【2】sy(sys):表示CPU在內(nèi)核態(tài)運(yùn)行的時(shí)間百分比(不包括中斷),通常內(nèi)核態(tài)CPU越低越好,否則表示系統(tǒng)存在某些瓶頸;
【3】ni(nice):表示用nice修正進(jìn)程優(yōu)先級(jí)的用戶態(tài)進(jìn)程執(zhí)行的CPU時(shí)間。nice是一個(gè)進(jìn)程優(yōu)先級(jí)的修正值,如果進(jìn)程通過(guò)它修改了優(yōu)先級(jí),則會(huì)單獨(dú)統(tǒng)計(jì)CPU開銷;
【4】id(idle):表示CPU處于空閑態(tài)的時(shí)間占比,此時(shí),CPU會(huì)執(zhí)行一個(gè)特定的虛擬進(jìn)程,名為System Idle Process空閑時(shí)間;
【5】wa(iowait):表示CPU在等待I/O操作完成所花費(fèi)的時(shí)間,通常該指標(biāo)越低越好,否則表示I/O存在瓶頸,可以用iostat等命令做進(jìn)一步分析;
【6】hi(hardirq):表示CPU處理硬中斷所花費(fèi)的時(shí)間。硬中斷是由外設(shè)硬件(如鍵盤控制器、硬件傳感器等)發(fā)出的,需要有中斷控制器參與,特點(diǎn)是快速執(zhí)行;
【7】si(softirq):表示CPU處理軟中斷所花費(fèi)的時(shí)間。軟中斷是由軟件程序(如網(wǎng)絡(luò)收發(fā)、定時(shí)調(diào)度等)發(fā)出的中斷信號(hào),特點(diǎn)是延遲執(zhí)行;
【8】st(steal):表示CPU被其他虛擬機(jī)占用的時(shí)間,僅出現(xiàn)在多虛擬機(jī)場(chǎng)景。如果該指標(biāo)過(guò)高,可以檢查下宿主機(jī)或其他虛擬機(jī)是否異常;
【9】load average:表示CPU的平均負(fù)載,這3個(gè)數(shù)字分別表示1分鐘、5分鐘、15分鐘內(nèi)系統(tǒng)的平均負(fù)載。該值越小,表示系統(tǒng)工作量越少,負(fù)荷越低;反之負(fù)荷越高;

平均負(fù)載Load Average:指單位時(shí)間內(nèi),系統(tǒng)處于可運(yùn)行狀態(tài)(Running / Runnable)和不可中斷態(tài)的平均進(jìn)程數(shù),也就是平均活躍進(jìn)程數(shù)。

可運(yùn)行態(tài)進(jìn)程包括正在使用CPU或者等待CPU的進(jìn)程;不可中斷態(tài)進(jìn)程是指處于內(nèi)核態(tài)關(guān)鍵流程中的進(jìn)程,并且該流程不可被打斷。比如當(dāng)進(jìn)程向磁盤寫數(shù)據(jù)時(shí),如果被打斷,就可能出現(xiàn)磁盤數(shù)據(jù)與進(jìn)程數(shù)據(jù)不一致。不可中斷態(tài),本質(zhì)上是系統(tǒng)對(duì)進(jìn)程和硬件設(shè)備的一種保護(hù)機(jī)制。

理想情況下,每個(gè)CPU應(yīng)該滿負(fù)荷工作,并且沒(méi)有等待進(jìn)程,此時(shí),平均負(fù)載 = CPU邏輯核數(shù)。但是,在實(shí)際生產(chǎn)系統(tǒng)中,不建議系統(tǒng)滿負(fù)荷運(yùn)行。通用的經(jīng)驗(yàn)法則是:平均負(fù)載 = 0.7 * CPU邏輯核數(shù)。
1、當(dāng)平均負(fù)載持續(xù)大于0.7 * CPU邏輯核數(shù),就需要開始調(diào)查原因,防止系統(tǒng)惡化;
2、當(dāng)平均負(fù)載持續(xù)大于1.0 * CPU邏輯核數(shù),必須尋找解決辦法,降低平均負(fù)載;
3、當(dāng)平均負(fù)載持續(xù)大于5.0 * CPU邏輯核數(shù),表明系統(tǒng)已出現(xiàn)嚴(yán)重問(wèn)題,長(zhǎng)時(shí)間未響應(yīng),或者接近死機(jī)。

除了關(guān)注平均負(fù)載值本身,也應(yīng)關(guān)注平均負(fù)載的變化趨勢(shì),這包含兩層含義。一是load1load5load15之間的變化趨勢(shì);二是歷史的變化趨勢(shì)。
1、當(dāng)load1、load5、load15三個(gè)值非常接近,表明短期內(nèi)系統(tǒng)負(fù)載比較平穩(wěn)。此時(shí),應(yīng)該將其與昨天或上周同時(shí)段的歷史負(fù)載進(jìn)行比對(duì),觀察是否有顯著上升。
2、當(dāng)load1遠(yuǎn)小于load5load15時(shí),表明系統(tǒng)最近1分鐘的負(fù)載在降低,而過(guò)去5分鐘或15分鐘的平均負(fù)載卻很高。
3、當(dāng)load1遠(yuǎn)大于load5load15時(shí),表明系統(tǒng)負(fù)載在急劇升高,如果不是臨時(shí)性抖動(dòng),而是持續(xù)升高,特別是當(dāng)load5都已超過(guò)0.7 * CPU邏輯核數(shù)時(shí),應(yīng)調(diào)查原因,降低系統(tǒng)負(fù)載。

如果1個(gè)CPU的系統(tǒng)平均負(fù)載=1.7:如果CPU每分鐘最多處理100個(gè)進(jìn)程,意味著除了CPU正在處理的100個(gè)進(jìn)程以外,還有70個(gè)進(jìn)程正排隊(duì)等著CPU處理。2個(gè)CPU表明系統(tǒng)負(fù)荷可以達(dá)到2.0。

此外,需要注意的是,top命令顯示了單個(gè)內(nèi)核的CPU百分比。在多處理器系統(tǒng)中,CPU百分比可能超過(guò)100%。例如,如果4個(gè)核心為75%,top命令將顯示CPU300%。由于CPU有多種非空閑態(tài),因此,CPU使用率計(jì)算公式可以總結(jié)為:CPU使用率 = (1 - 空閑態(tài)運(yùn)行時(shí)間/總運(yùn)行時(shí)間) * 100%。根據(jù)經(jīng)驗(yàn)法則, 建議生產(chǎn)系統(tǒng)的CPU總使用率不要超過(guò)70%。

我們需要獲取空閑時(shí)間的值,以便我們可以從100中減去它來(lái)獲得使用情況:

[root@localhost ~]# top -bn2 | grep '%Cpu' | tail -1 | grep -P '(....|...) id,'|awk '{print "CPU Usage: " 100-$8 "%"}'
CPU Usage: 2.2%

-n選項(xiàng)是top命令在結(jié)束前應(yīng)該使用的迭代次數(shù)。我們避免使用第一個(gè)循環(huán),因?yàn)槲覀儥z索的指標(biāo)將是自啟動(dòng)以來(lái)的值。因此,我們進(jìn)行了第二次迭代?;蛘?,在多處理器系統(tǒng)中,我們必須將給定的id值除以內(nèi)核數(shù),然后從100中減去該值。例如,如果我們?cè)谒暮讼到y(tǒng)上運(yùn)行,并且id值為304%,我們將CPU使用率計(jì)算為:

CPU 使用率 % = 100(304/4)
[root@localhost ~]# top -bn2 | grep '%Cpu' | tail -1 | grep -P '(....|...) id,'|awk '{print "CPU Usage: " 100-($8/4) "%"}'

vmstat命令查看CPU的使用率

[root@localhost ~]# vmstat 3 4
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 4  0      0 1347080   6120 941464    0    0    68    11   72  137  1  2 97  0  0
 1  0      0 1347080   6120 941464    0    0     0     0   84  157  1  2 97  0  0
 1  0      0 1347080   6120 941464    0    0     0     0   59  107  1  1 98  0  0
 1  0      0 1347080   6120 941464    0    0     0     1   59  104  1  1 98  0  0

id列是我們感興趣的。延遲一秒,我們使用vmstat計(jì)算CPU使用率:

[root@localhost ~]# echo "CPU Usage: "$[100-$(vmstat 1 2|tail -1|awk '{print $15}')]"%"
CPU Usage: 2%

沒(méi)有提供任何參數(shù)的vmstat命令將給出自引導(dǎo)以來(lái)的CPU時(shí)間。這不會(huì)提供準(zhǔn)確的CPU使用百分比。因此,參數(shù)只能是12,我們采用一秒鐘后計(jì)算的指標(biāo):

vmstat 1 2

/proc/stat命令查看CPU使用率

CPU活動(dòng)也可以從/proc/stat文件中提取。該文件包含自啟動(dòng)以來(lái)有關(guān)系統(tǒng)的各種指標(biāo):

[root@localhost ~]# cat /proc/stat 
cpu  3020 28 1863 22404 35 432 47 0 0 0
cpu0 3020 28 1863 22404 35 432 47 0 0 0
intr 96468 28 100 0 0 0 0 0 0 1 0 0 0 1263 0 0 0 3696 0 153 928 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 207 0 41 14600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 343 97 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ctxt 340950
btime 1628404433
processes 3276
procs_running 2
procs_blocked 0
softirq 112867 1 16857 56 269 510 0 261 0 0 94913

第一行,cpu是系統(tǒng)所有核心指標(biāo)的聚合。在具有4個(gè)內(nèi)核的系統(tǒng)上,將有4cpu線——cpu0、cpu1、cpu2cpu3。cpu行中的列表示處理不同任務(wù)所花費(fèi)的時(shí)間:
【1】user在用戶模式下花費(fèi)的時(shí)間;
【2】nice在用戶模式下處理 nice 進(jìn)程所花費(fèi)的時(shí)間;
【3】system執(zhí)行內(nèi)核代碼所花費(fèi)的時(shí)間;
【4】idl空閑時(shí)間;
【5】iowait等待I/O所花費(fèi)的時(shí)間;
【6】irq服務(wù)中斷所花費(fèi)的時(shí)間;
【7】softirq服務(wù)軟件中斷所花費(fèi)的時(shí)間;
【8】steal從虛擬機(jī)中竊取的時(shí)間;
【9】guest為來(lái)賓操作系統(tǒng)運(yùn)行虛擬CPU所花費(fèi)的時(shí)間;
【10】guest_nice為“不錯(cuò)的”客戶操作系統(tǒng)運(yùn)行虛擬CPU所花費(fèi)的時(shí)間;
我們將使用這些指標(biāo)來(lái)計(jì)算平均空閑百分比。隨后,我們將使用計(jì)算值來(lái)計(jì)算CPU使用率。需要注意的是,較舊的Linux發(fā)行版不計(jì)算竊取、來(lái)賓或來(lái)賓_nice指標(biāo)。如果我們使用的是舊系統(tǒng),我們會(huì)在計(jì)算中忽略這些指標(biāo):

平均空閑時(shí)間 (%) = (idle * 100) / (user + nice + system + idle + iowait + irq + softirq +steal + guest + guest_nice)
?
cat /proc/stat |grep cpu |tail -1|awk '{print ($5*100)/($2+$3+$4+$5+$6+$7+$8+$9+$10)}'|awk '{print "CPU Usage: " 100-$1}'
CPU Usage: 2.4219

由于我們正在開發(fā)單核系統(tǒng),因此cpu行將與cpu1相同。因此,tail -1的使用是 只檢索其中一行。然而,我們會(huì)在多處理器系統(tǒng)上使用cpu行,因?yàn)樗撬袃?nèi)核上的指標(biāo)的集合。

uptime查看平均負(fù)載

uptime命令為我們提供了以1、515分鐘為間隔的平均負(fù)載視圖:

[root@localhost ~]# uptime
 12:40:05 up  2:29,  1 user,  load average: 0.37, 0.08, 0.03

如果不知道系統(tǒng)的核心數(shù),就無(wú)法解釋平均負(fù)載:

[root@localhost ~]# cat /proc/cpuinfo |grep core
core id      : 0
cpu cores    : 2

四、總結(jié)

CPU利用率低負(fù)載高: 說(shuō)明等待執(zhí)行的任務(wù)很多,但是通常任務(wù)多CPU使用率也會(huì)比較高,如果低就說(shuō)明CPU根本沒(méi)工作,那些很多的任務(wù)處于等待狀態(tài),可能進(jìn)程僵死了。
CPU利用率高負(fù)載低: 說(shuō)明任務(wù)少,但是任務(wù)執(zhí)行時(shí)間長(zhǎng),有可能是程序本身有問(wèn)題,如果沒(méi)有問(wèn)題那么計(jì)算完成后則利用率會(huì)下降。

CPU 使用率與平均負(fù)載的關(guān)系: CPU使用率是單位時(shí)間內(nèi)CPU繁忙程度的統(tǒng)計(jì)。平均負(fù)載不僅包括正在使用CPU的進(jìn)程,還包括等待CPUI/O的進(jìn)程。因此,兩者不能等同,有兩種常見的場(chǎng)景如下所述:
【1】CPU密集型應(yīng)用,大量進(jìn)程在等待或使用CPU,此時(shí)CPU使用率與平均負(fù)載呈正相關(guān)狀態(tài)。
【2】I/O密集型應(yīng)用,大量進(jìn)程在等待I/O,此時(shí)平均負(fù)載會(huì)升高,但CPU使用率不一定很高。

生產(chǎn)CPU使用率低而平均負(fù)載高的場(chǎng)景: 等待磁盤I/O完成的進(jìn)程過(guò)多,隊(duì)列長(zhǎng)度大,導(dǎo)致負(fù)載高,但此時(shí)CPU被分配執(zhí)行別的任務(wù)或空閑,具體如:
【1】磁盤讀寫請(qǐng)求過(guò)多導(dǎo)致大量I/O等待: CPU的工作效率要高于磁盤,而進(jìn)程在CPU上面運(yùn)行需要訪問(wèn)磁盤文件,這個(gè)時(shí)候CPU會(huì)向內(nèi)核發(fā)起調(diào)用文件的請(qǐng)求,讓內(nèi)核去磁盤取文件,這個(gè)時(shí)候會(huì)切換到其他進(jìn)程或者空閑,這個(gè)任務(wù)就會(huì)轉(zhuǎn)換為不可中斷睡眠狀態(tài)。當(dāng)這種讀寫請(qǐng)求過(guò)多就會(huì)導(dǎo)致不可中斷睡眠狀態(tài)的進(jìn)程過(guò)多,從而導(dǎo)致負(fù)載高,CPU低的情況。
【2】數(shù)據(jù)庫(kù)抖動(dòng): 造成線程隊(duì)列hang住,負(fù)載升高。
【3】外接硬盤故障: 常見有掛了NFS,但是NFS server故障了。比如系統(tǒng)掛載了外接硬盤如NFS共享存儲(chǔ),經(jīng)常會(huì)有大量的讀寫請(qǐng)求去訪問(wèn)NFS存儲(chǔ)的文件,如果這個(gè)時(shí)候NFS Server故障,那么就會(huì)導(dǎo)致進(jìn)程讀寫請(qǐng)求一直獲取不到資源,從而進(jìn)程一直是不可中斷狀態(tài),造成負(fù)載很高。

Reference:
CPU load 過(guò)高問(wèn)題排查
CPU 如何正確理解 CPU 使用率和平均負(fù)載的關(guān)系?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-768854.html

到了這里,關(guān)于CPU 使用率和負(fù)載Load的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 軟路由的負(fù)載均衡設(shè)置:優(yōu)化網(wǎng)絡(luò)性能和帶寬利用率

    軟路由的負(fù)載均衡設(shè)置:優(yōu)化網(wǎng)絡(luò)性能和帶寬利用率

    在現(xiàn)代網(wǎng)絡(luò)環(huán)境中,提升網(wǎng)絡(luò)性能和最大化帶寬利用率至關(guān)重要。通過(guò)合理配置軟路由IP的負(fù)載均衡設(shè)置,可以有效地實(shí)現(xiàn)這一目標(biāo),并提高整體穩(wěn)定性與效果。本文將詳細(xì)介紹如何進(jìn)行軟路由IP的負(fù)載均衡設(shè)置,從而優(yōu)化網(wǎng)絡(luò)表現(xiàn)、增加帶寬利用效率,并為讀者呈現(xiàn)一個(gè)完善

    2024年02月09日
    瀏覽(24)
  • python實(shí)現(xiàn)監(jiān)控指定進(jìn)程的CPU利用率、內(nèi)存占用

    ????????因?yàn)樾枰恢标P(guān)注被測(cè)軟件的CPU利用率和內(nèi)存占用,人工記錄十分麻煩,所以想做一個(gè)應(yīng)用程序來(lái)代替手工記錄。 思路: 1.彈窗,輸入進(jìn)程號(hào) 2.獲取進(jìn)程對(duì)象 3.日志保存在一個(gè)csv文件中,文件命名方式為:進(jìn)程名+Process+進(jìn)程號(hào) 4.文件第一行寫入進(jìn)程名,第二行表

    2023年04月12日
    瀏覽(26)
  • 關(guān)于路由器CPU利用率過(guò)高的解決辦法

    第一步, show process cpu 如顯示IP input process is using a lot of CPU resources,檢查以下情況: 一、Fast switching 在大流量的外出接口上是否被disabled.可以用 show interfaces switching 命令察看接口流量.然后在接口上重新 Re-enable fast switching .記住 fast switching是配置在output 接口. 二、Fast switching

    2024年02月06日
    瀏覽(24)
  • 【性能優(yōu)化】CPU利用率飆高與內(nèi)存飆高問(wèn)題

    【性能優(yōu)化】CPU利用率飆高與內(nèi)存飆高問(wèn)題

    ??作者簡(jiǎn)介: 小明java問(wèn)道之路 , 2022年度博客之星全國(guó)TOP3 ,專注于后端、中間件、計(jì)算機(jī)底層、架構(gòu)設(shè)計(jì)演進(jìn)與穩(wěn)定性建設(shè)優(yōu)化,文章內(nèi)容兼具廣度、深度、大廠技術(shù)方案,對(duì)待技術(shù)喜歡推理加驗(yàn)證,就職于知名金融公司后端高級(jí)工程師。 ? ? ? ?? ?? 熱衷分享,喜歡原

    2024年02月05日
    瀏覽(17)
  • 【Linux運(yùn)維】shell腳本檢查服務(wù)器內(nèi)存和CPU利用率

    在管理服務(wù)器時(shí)候?qū)懥艘粋€(gè) shell腳本,在服務(wù)上實(shí)現(xiàn)每天凌晨3點(diǎn)查系統(tǒng)的指定文件夾下的容量大小,如果超過(guò)10G就要?jiǎng)h除3天前的內(nèi)容,還要時(shí)刻查詢內(nèi)存和cpu利用率,如果超過(guò)80%就要提示用戶出現(xiàn)過(guò)載 將以上代碼保存為一個(gè).sh文件,然后通過(guò)crontab在每天凌晨3點(diǎn)運(yùn)行即可:

    2024年02月09日
    瀏覽(33)
  • Prometheus-07 Docker-compose安裝配置prometheus以及初步分析CPU/內(nèi)存利用率分析

    關(guān)于docker-compose的配置安裝可以參考我的這篇筆記: Docker-compose安裝配置講解 創(chuàng)建docker-compose.yml配置文件

    2024年02月10日
    瀏覽(26)
  • python-在系統(tǒng)托盤顯示CPU使用率和內(nèi)存使用率

    python-在系統(tǒng)托盤顯示CPU使用率和內(nèi)存使用率

    一、添加輪子 1.添加托盤區(qū)圖標(biāo)庫(kù)? infi.systray 2.添加圖像處理庫(kù)? Pillow 3.添加? psutil ?來(lái)獲取CPU、內(nèi)存信息 二、完整代碼 三、實(shí)際效果展示

    2024年02月05日
    瀏覽(18)
  • 【linux】查看CPU的使用率

    【linux】查看CPU的使用率

    命令1:top 總體系統(tǒng)信息 uptime:系統(tǒng)的運(yùn)行時(shí)間和平均負(fù)載。 tasks:當(dāng)前運(yùn)行的進(jìn)程和線程數(shù)目。 CPU:總體 CPU 使用率和各個(gè)核心的使用情況。 內(nèi)存(Memory):總體內(nèi)存使用情況、可用內(nèi)存和緩存。 查看 CPU 使用率 以下是一些常用的CPU使用率相關(guān)字段: %Cpu(s):顯示整個(gè)系統(tǒng)

    2024年04月23日
    瀏覽(24)
  • 測(cè)試:虛擬機(jī)查看CPU使用率

    Windows虛擬機(jī) 任務(wù)管理器 : 在虛擬機(jī)中,您可以打開任務(wù)管理器(Ctrl + Shift + Esc),然后在“進(jìn)程”標(biāo)簽下查看CPU使用率。 PowerShell : 使用PowerShell命令 Get-VM | Select-Object Name, CPUUsage 可以查詢虛擬機(jī)的CPU使用率。 VMware vSphere Client : 如果您的虛擬機(jī)運(yùn)行在VMware環(huán)境中,可以使用

    2024年02月01日
    瀏覽(32)
  • qt使用QCustomplot繪制cpu和內(nèi)存使用率圖

    qt使用QCustomplot繪制cpu和內(nèi)存使用率圖

    ????????????QCustomPlot是一個(gè)開源的Qt C++圖表庫(kù),用于可視化數(shù)據(jù)。該庫(kù)提供了多種類型的可定制的圖表,包括散點(diǎn)圖、線圖、柱狀圖和等高線圖等。它還支持自定義繪制,可以創(chuàng)建任意形狀和大小的元素,并使其與其他元素交互。QCustomPlot易于集成到現(xiàn)有的Qt應(yīng)用程序中

    2024年02月09日
    瀏覽(25)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包