LINUX下CPU Load Average的一点研究
生活随笔
收集整理的這篇文章主要介紹了
LINUX下CPU Load Average的一点研究
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
背景:
公司的某個(gè)系統(tǒng)工作在基于Linux的Cent OS下,一個(gè)host下同時(shí)連接了許多client, 最近某臺(tái)Host總是顯示CPU Load Average過(guò)高,我們單純的以為是CPU的占用過(guò)高,其實(shí)沒(méi)這么簡(jiǎn)單,于是老板讓我趁這個(gè)機(jī)會(huì)研究一下CPU Load Average,最近剛好想開(kāi)學(xué)習(xí)LINUX的文章,就把這個(gè)當(dāng)成一個(gè)起點(diǎn)吧。
Load Average(平均負(fù)載)基本概念:
- Load?指的是運(yùn)行隊(duì)列(run-queue)的長(zhǎng)度:L = 等待進(jìn)程的數(shù)目 + 運(yùn)行進(jìn)程的數(shù)目
- Load Average指的是在一段時(shí)間內(nèi)CPU正在處理以及等待CPU處理的進(jìn)程數(shù)之和的統(tǒng)計(jì)信息,也就是CPU使用隊(duì)列的長(zhǎng)度的統(tǒng)計(jì)信息。
- Load Average反映了CPU的使用情況和申請(qǐng)情況.
Load Average(平均負(fù)載)和CPU占用率的區(qū)別:
- Load Average所包含的信息不是CPU的使用率狀況
- 多任務(wù)環(huán)境下,系統(tǒng)分配時(shí)間片以后,是否使用完全使用時(shí)間片取決于進(jìn)程,因此完全可能出現(xiàn)低CPU利用率而高Load Average的情況
Load Average的計(jì)算:
- 在多處理器系統(tǒng)中,負(fù)載閥值是基于內(nèi)核的數(shù)量決定的。以 100% 負(fù)載計(jì)算,1.00 表示單個(gè)處理器,而 2.00 則說(shuō)明有兩個(gè)雙處理器,那么 4.00 就說(shuō)明主機(jī)具有四個(gè)處理器。超過(guò)這個(gè)閥值就表示系統(tǒng)過(guò)載了
- Load Average的實(shí)時(shí)計(jì)算公式:
- load(t) = load(t-1) e^(-5/60) + n (1 - e^(-5/60)),迭代計(jì)算,其中n為run-queue的長(zhǎng)度
Linux下通過(guò)top或者uptime命令可以查看系統(tǒng)的Load Average,它顯示的是系統(tǒng)在1分鐘,5分鐘,15分鐘之內(nèi)的Load Average值:
- 1分鐘的平均值通常表示峰值,應(yīng)該著眼于5分鐘或者15分鐘的平均數(shù)值
- 遠(yuǎn)程連接到一臺(tái)LINUX上通過(guò)top命令查詢系統(tǒng)的平均負(fù)載:
- 遠(yuǎn)程連接到一臺(tái)LINUX上通過(guò)uptime命令查詢系統(tǒng)的平均負(fù)載:
?
本文參考文章:
- http://www.blogjava.net/cenwenchu/archive/2008/06/30/211712.html
- http://blog.csdn.net/naivebaby/article/details/1386577
- http://wenku.baidu.com/view/9cc0ed4ce518964bcf847c21.html
參考文章里的三篇文章寫(xiě)得都非常好,如果你想了解更多一點(diǎn),請(qǐng)一定深入拜讀
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的LINUX下CPU Load Average的一点研究的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Java 11 正式发布,这 8 个逆天
- 下一篇: Linux 常用命令全称,看看你 get