1. 程式人生 > 其它 >關於 CPU 利用率的思考

關於 CPU 利用率的思考

CPU利用率

在作業系統、計算機組成原理等計算機相關書中經常會看到諸如 “ 儘可能使CPU保持 ‘忙’ ” ,“ 提高CPU利用率 ” 等語句。但是當點開 Windows 的工作管理員觀察到 CPU 利用率過高,計算機會出現卡頓。一般 CPU 利用率達到 100% 時還有可能造成宕機。這不是構成矛盾了嗎?CPU 的利用率越高越好還是越低越好呢?

  百度百科上,對 CPU 利用率的簡介如下:CPU 使用率其實就是你執行的程式佔用的 CPU 資源,表示你的機器在某個時間點的執行程式的情況。使用率越高,說明你的機器在這個時間上運行了很多程式,反之較少。通俗地說,CPU 利用率 = 當前執行的程式 / CPU總資源 * 100%

。若存在兩個 CPU 執行相同的程式,其中利用率越低則該 CPU 越強勁。

  教科書中 “提高 CPU 利用率” 是站在計算機系統資源管理者的角度來講的, OS 作為中介為了滿足使用者(甲方)的要求,儘可能地去壓榨底層員工 CPU ;而工作管理員中的 “CPU利用率” 是站在使用者的角度觀察到的,Windows 應該屬於分時 OS,此時 CPU 利用率過高就表明它有很多程序在執行,根據時間片輪轉排程,那麼響應使用者的時間佔比就會降低,表現為計算機看起來很卡頓,影響使用者體驗。

  因此沒有絕對的 CPU 利用率越高越好還是越低越好的說法。要根據具體場景和約束條件而定,比較嚴謹的說法是:

  • 站在 OS 的角度(老闆),希望 CPU 儘可能多的去執行任務,因此 CPU 的利用率越高越好;
  • 站在使用者的角度(女朋友),希望 CPU 總是能夠及時關注自己,當 CPU 的利用率低時,響應使用者的時間就會更充分;
  • 站在 CPU 的角度(同事),希望自己比別人出色,當執行相同的任務時,利用率越低者,效能越好。