詳細分析Linux服務器內存

1. 首先對free -m查看結果進行分析


  # free -m

            total    used   free    shared    buffers    cached

  Mem: 3952    2773   178       0        130       1097

  -/+ buffers/cache: 1545 2406

  Swap: 2055 0 2055


 各參數含義:

  1.   total:總物理內存

  2.   used:已使用內存

  3.   free:完全未被使用的內存

  4.   shared:應用程序共享內存

  5.   buffers:緩存,主要用於目錄方面,inode值等

  6.   cached:緩存,用於已打開的文件

  7.   -buffers/cache:應用程序使用的內存大小,used減去緩存值(buffers和cached)

  8.   +buffers/cache:所有可供應用程序使用的內存大小,free加上緩存值(buffers和cached)

 其中:

  1.   total = used + free

  2.     -buffers/cache=used-buffers-cached,這個是應用程序真實使用的內存大小

  3.     +buffers/cache=free+buffers+cached,這個是服務器真實還可利用的內存大小

2. Linux的內存分配方式

  Linux服務器爲了提高效率,會提前申請內存,即使這些內存沒有被具體應用使用,Linux也會提前申請這些內存,然後利用這些內存做緩存用,即將剛打開的文件系統存入cache中,這樣對應的服務器free值會越來越少,buffers和cached會越來越大,因此內存越來越少了;其實,Linux服務器在內存不足時,會自動清理cached區域,釋放內存,然後繼續增大 cache,free繼續減少.



下面這個鏈接也主要說明了linux內存的查看方法,也說明了一些手動釋放緩衝的方法,然後再查看free。

http://blog.csdn.net/hbcui1984/article/details/5101265



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章