詳細(xì)分析Linux服務(wù)器內(nèi)存
Linux服務(wù)器內(nèi)存還剩多少我們會(huì)關(guān)心,但是我們更應(yīng)該關(guān)心Linux服務(wù)器內(nèi)存工作方式,分配方式,這樣我們就會(huì)不必去擔(dān)心到底還剩多少內(nèi)存,怎么才能保證內(nèi)存足夠我們來使用,和分配。
1. 首先對free -m查看結(jié)果進(jìn)行分析
view plaincopy to clipboardprint?
linux-8v2i:~ # free -m
total used free shared buffers cached
Mem: 3952 2773 178 0 130 1097
-/+ buffers/cache: 1545 2406
Swap: 2055 0 2055
linux-8v2i:~ # free -m
total used free shared buffers cached
Mem: 3952 2773 178 0 130 1097
-/+ buffers/cache: 1545 2406
Swap: 2055 0 2055
各參數(shù)含義:
total:總物理內(nèi)存
used:已使用內(nèi)存
free:完全未被使用的內(nèi)存
shared:應(yīng)用程序共享內(nèi)存
buffers:緩存,主要用于目錄方面,inode值等
cached:緩存,用于已打開的文件
-buffers/cache:應(yīng)用程序使用的內(nèi)存大小,used減去緩存值
+buffers/cache:所有可供應(yīng)用程序使用的內(nèi)存大小,free加上緩存值
其中:
total = used + free
-buffers/cache=used-buffers-cached,這個(gè)是應(yīng)用程序真實(shí)使用的內(nèi)存大小
+buffers/cache=free+buffers+cached,這個(gè)是服務(wù)器真實(shí)還可利用的內(nèi)存大小
2. Linux的內(nèi)存分配方式
大家都知道,Linux服務(wù)器為了提高效率,會(huì)提前申請內(nèi)存,即使這些內(nèi)存沒有被具體應(yīng)用使用,Linux也會(huì)提前申請這些內(nèi)存,然后利用這些內(nèi)存做緩存用,即將剛打開的文件系統(tǒng)存入cache中,這樣對應(yīng)的服務(wù)器free值會(huì)越來越少,buffers和cached會(huì)越來越大,因此給大家表象就是內(nèi)存越來越少了,大家就緊張了;其實(shí),大家完全不用緊張,發(fā)現(xiàn)Linux服務(wù)器內(nèi)存不足時(shí),會(huì)自動(dòng)清理cached區(qū)域,釋放內(nèi)存,然后繼續(xù)增大 cache,free繼續(xù)減少。
【編輯推薦】