歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux服務器 >> centos計算內存CPU正確方法

centos計算內存CPU正確方法

日期:2017/3/2 16:25:09   编辑:Linux服務器

  處理器使用率

  這裡要從/proc/stat中提取四個數據:用戶模式(user)、低優先級的用戶模式(nice)、內核模式(system)以及空閒的處理器時間(idle)。它們均位於/proc/stat文件的第一行。CPU的利用率使用如下公式來計算。

  CPU利用率 = 100 *(user + nice + system)/(user + nice + system + idle)

  空閒內存=free+buffers+cached=total-used

  可用內存=free的內存+cached的內存+buffers的內存

  真正的內存利用率 = 可用內存 / 總內存(注意此處 可用內存 由上述公式計算而來,其實這個計算結果在free命令回顯中已有,即回顯結果第三行”-/+ buffers/cached”,此行第二個數值即為加上了buffers和cached之後的內存,即為上述公式所算的可用內存 )。

  你可以在Linux中,敲入free命令獲得當前系統的內存使用情況。

  #busybox free

  total used free shared buffers

  Mem: 55636 52808 2828 0 3132

  Swap: 0 0 0

  Total: 55636 52808 2828

  當我滿心歡喜的敲入上面的命令時,收到的卻是一陣陣的冷汗,2828k,我的系統只剩下了2M多的內存,系統還能跑嗎,是不是命令有錯誤!!!

  讓我們來看看在PC機上的Linux系統中,結果是什麼樣子的。

  #free

  total used free shared buffers cached

  Mem: 4091524 4021016 70508 0 7656 1824312

  -/+ buffers/cache: 2189048 1902476

  Swap: 4088532 2891732 1196800

  這裡我先解釋一下幾個關鍵的概念。

  buffers:主要是用來給Linux系統中塊設備做緩沖區。

  cached:用來緩沖我們所打開的文件。

  在系統中內存是很寶貴的資源,Linux的思想是,如果內存充足,不用白不用,它會使用內存來cache一些文件,從而加快進程的運行速度;當內存不足時,這些內存又會被回收,供程序使用。

  所以真正可用的內存=free+buffers+cached=70508+7656+1824312=1902476。

Copyright © Linux教程網 All Rights Reserved