亚洲精品久久久久久第一页-人妻少妇精彩视品一区二区三区-91国产自拍免费视频-免费一级a在线播放视频正片-少妇天天日天天射天天爽-国产大屁股喷水视频在线观看-操美女骚穴抽插性爱视频-亚洲 欧美 中文字幕 丝袜-成人免费无码片在线观看

單核雙核四核的區(qū)別 單核處理器是什么意思


單核雙核四核的區(qū)別 單核處理器是什么意思

文章插圖

前言做為一個性能測試工程師 , 每當我們發(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都得到了充分利用 。
以下是單核處理器計算機中不同負載值的含義: