linux下如何计算cpu利用率,Linux下的CPU利用率计算原理详解
我們在搞性能測試的時候,對后臺服務器的CPU利用率監控是一個常用的手段。服務器的CPU利用率高,則表明服務器很繁忙。如果前臺響應時間越來越大,而后臺CPU利用率始終上不去,說明在某個地方有瓶頸了,系統需要調優。這個是即使不懂技術的人都容易理解的事情。
上面理解對嗎?我個人覺得不十分準確。這個要看后臺你測試的進程是什么類型的。如果是計算密集型的進程,當前端壓力越來越大的時候,很容易把CPU利用率打上去。但是如果是I/O網絡密集型的進程,即使客戶端的請求越來越多,但是服務器CPU不一定能上去,這個是你要測試的進程的自然屬性決定的。比較常見的就是,大文件頻繁讀寫的cpu開銷遠小于小文件頻繁讀寫的開銷。因為在I/O吞吐量一定時,小文件的讀寫更加頻繁,需要更多的cpu來處理I/O的中斷。
在Linux/Unix下,CPU利用率分為用戶態,系統態和空閑態,分別表示CPU處于用戶態執行的時間,系統內核執行的時間,和空閑系統進程執行的時間。平時所說的CPU利用率是指:CPU執行非系統空閑進程的時間 / CPU總的執行時間。
在Linux的內核中,有一個全局變量:Jiffies。 Jiffies代表時間。它的單位隨硬件平臺的不同而不同。系統里定義了一個常數HZ,代表每秒種最小時間間隔的數目。這樣jiffies的單位就是1/HZ。Intel平臺jiffies的單位是1/100秒,這就是系統所能分辨的最小時間間隔了。每個CPU時間片,Jiffies都要加1。 CPU的利用率就是用執行用戶態+系統態的Jiffies除以總的Jifffies來表示。
在Linux系統中,可以用/proc/stat文件來計算cpu的利用率(詳細的解釋可參考:http://www.linuxho
總結
以上是生活随笔為你收集整理的linux下如何计算cpu利用率,Linux下的CPU利用率计算原理详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 新人使用Git获取远程仓库项目
- 下一篇: 无人值守安装linux,RHEL5无人值