天天看點

檢視Linux伺服器記憶體使用情況

檢視記憶體使用情況,可以使用指令 free -m

其結果大緻如下:

                   total       used         free     shared    buffers     cached

Mem:         32108      30681       1426          0        123      21165

-/+ buffers/cache:       9392      22715

Swap:        34287       1262      33025

在第一部分Mem 行中有如下參數:

* total: 記憶體總數,即32108 MB

* used: 已經使用的記憶體數,即 30681 MB

* free: 空閑的記憶體數:即 1426MB

* shared:目前已廢棄不用,總是 0

* buffers Buffer: 緩存記憶體數,即 123 MB

* cached Page: 緩存記憶體數,即 421MB

其中,記憶體總數與已經使用記憶體數和空閑記憶體數的關系是:

 total (32108) = used (30681) + free (1426)

在第二部分内容(-/+ buffers/cache)中個參數如下所示:

(-buffers/cache): 真正使用的記憶體數,即9392M,他指的是第一部分的 used - buffers - cached

(+buffers/cache): 可用的記憶體數,即22715M,他指的是第一部分的 free + buffers + cached

其含義可以了解為:-buffers/cached 反映的是被程式實實在在用掉的記憶體,而 +buffers/cached反映的是可以被使用(或者說挪用)的記憶體總數。

第三部分指交換分區。(書上說“大家都明白,這裡就不再講了”,可是我還不清楚,一會兒再查吧)

對作業系統來講,used 和 free都是Mem的參數,是以 buffers/cached這兩項對于作業系統來講都是已經被使用的記憶體,是以呢 free的就比較少;

而對于應用程式來說呢,buffers/cached等同于可用的記憶體,因為buffers/cached可提高程式執行的性能,當程式使用記憶體時,buffers/cached很快就會被使用。

是以從應用程式的角度來看,應以(-/+ buffers/cached)的free 和 used為主,即我們主要與他相關的free和used就可以了。

我們在觀察Linux的記憶體使用情況時,隻要沒發現用swap的交換空間,就不必擔心自己的記憶體太少。

如果常常看到swap用了很多,那麼你就要考慮加實體記憶體了。這也是在Linux伺服器上看記憶體是否夠用的标準。

本文轉自birdinroom 51CTO部落格,原文連結:http://blog.51cto.com/birdinroom/1600687,如需轉載請自行聯系原作者

繼續閱讀