
文章插圖
前言做為一個性能測試工程師 , 每當我們發(fā)現(xiàn)計算機變慢的時候 , 我們通常的標準姿勢就是執(zhí)行 uptime 或 top 命令 , 來了解系統(tǒng)的負載情況 。
比如像下面這樣 , 我在命令行里輸入了 uptime 命令 , 系統(tǒng)會返回一行信息 。
appletekimbp:~ apple$ uptime20:44up 21 days,6:41, 2 users, load averages: 2.85 2.33 2.91但我想問的是 , 各位同學知道以上每列輸出的含義嗎?20:44# 當前時間up 21 days,6:41# 系統(tǒng)運行時間2 users# 正在登錄用戶數(shù)# 系統(tǒng)的平均負載 , 分別是1分鐘、5分鐘、15分鐘內(nèi)系統(tǒng)的平均負載load averages: 2.85 2.33 2.91 這行信息的后半部分 , 顯示 “l(fā)oad average” , 它的意思是”系統(tǒng)的平均載荷” , 里面有三個數(shù)字 , 我們可以從中判斷系統(tǒng)負載是大還是小 。什么是系統(tǒng)平均負載?我猜一定會有同學會說 , 平均負載不就是單位時間的 CPU 使用率嗎?上面 2.85 , 就代表 CPU 使用率是 285% 。其實不是這樣的 。
CPU 負載值在 Linux 系統(tǒng)中表示正在運行 , 處于可運行狀態(tài)的平均作業(yè)數(shù)(讀取一組與流程執(zhí)行線程對應(yīng)的機器語言的程序指令) , 或者非常重要 , 休眠但不可中斷(不可交錯的休眠狀態(tài))) 。也就是說 , 要計算 CPU 負載的值 , 只考慮正在運行或等待分配 CPU 時間的進程 。不考慮正常的休眠過程(休眠狀態(tài)) , 僵尸或停止的過程 。簡單來說 , 平均負載是指單位時間內(nèi) , 系統(tǒng)處于可運行狀態(tài)和不可中斷狀態(tài)的平均進程數(shù) , 也就是平均活躍進程數(shù) , 它和 CPU 使用率并沒有直接關(guān)系 。
進程狀態(tài)代碼 R 正在運行或可運行(在運行隊列中) D 不間斷休眠(通常為IO) S 可中斷休眠(等待事件完成) Z 失效/僵尸 , 終止但未被其父 T 停止 , 由作業(yè)控制停止信號或因為它被追蹤 […]這里先解釋下 , 可運行狀態(tài)和不可中斷狀態(tài) 。
可運行狀態(tài)的進程 , 指的是正在使用CPU或者正在等待CPU的進程 , 也就是我們常用 ps 命令看到處于 R 狀態(tài)(Running 或 Runnable)的進程 。
不可中斷狀態(tài)的進程 , 指的是正處于內(nèi)核態(tài)關(guān)鍵流程中的進程 , 并且這些流程是不可打斷的 , 比如常見是等待硬件設(shè)備的 I/O 響應(yīng) 。也就是我們在Ps 命令看到的D狀態(tài)(Uninterruptible Sleep , 也稱為 Disk Sleep)的進程 。比如 , 當一個進程向磁盤讀寫數(shù)據(jù)時 , 為了保證數(shù)據(jù)的一致性 , 在得到磁盤回復(fù)前 , 它是不能被其他進程或者中斷打斷的 , 這個時間的進程就處于不可中斷狀態(tài) 。如果此時的進程被打斷 , 就容易出現(xiàn)磁盤數(shù)據(jù)與進程數(shù)據(jù)不一致的問題 。所以 , 不可中斷狀態(tài)實際上是系統(tǒng)對進程和硬件設(shè)備的一種保護機制 。因此 , 我們可以簡單理解為 , 平均負載其實就是平均活躍進程數(shù) 。平均活躍進程數(shù) , 直觀上的理解就是單位時間內(nèi)的活躍進程數(shù) 。既然平均的是是活躍進程數(shù) , 那么理想的是 , 每個CPU上都剛好運行著一個進程 , 這樣每個CPU都得到了充分利用 。
以下是單核處理器計算機中不同負載值的含義:
- 0.00:沒有任何作業(yè)正在運行或等待 CPU 執(zhí)行 , 即 CPU 完全空閑 。因此 , 如果正在運行的程序(進程)需要執(zhí)行任務(wù) , 它會向 CPU 請求操作系統(tǒng) , 并立即為該進程分配 CPU 時間 , 因為沒有其他進程在競爭它 。
以上關(guān)于本文的內(nèi)容,僅作參考!溫馨提示:如遇健康、疾病相關(guān)的問題,請您及時就醫(yī)或請專業(yè)人士給予相關(guān)指導(dǎo)!
「愛刨根生活網(wǎng)」www.malaban59.cn小編還為您精選了以下內(nèi)容,希望對您有所幫助:- 訂單核銷成功是什么意思 核銷是什么意思
- 單核細胞比率偏低或偏高代表什么?
- 紅魔雙核散熱背夾來降溫 紅魔散熱背夾拆解
- 紅魔雙核散熱背夾 紅魔雙核散熱背夾最低溫度
- 小辣椒平臺 小辣椒四核手機怎么樣
- 紅魔雙核散熱背夾能解決 紅魔散熱背夾拆解
- I9300有雙核版本?
- 藍魔雙核平板怎么樣
- moto xt681是雙核還是單核
- 求推薦四核處理器
