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 的角度(同事),希望自己比別人出色,當執行相同的任務時,利用率越低者,性能越好。