在服務器運行過程中,使用free -m查看服務器內(nèi)存時,經(jīng)常會發(fā)現(xiàn)free值很小,有些同學就會很緊張,總想采取一些措施,使得free值看起來高一點,心里就比較爽一點。其實,個人覺得這完全是圖一時之快,沒什么實質(zhì)性用途。
一、大眾釋放內(nèi)存方法
1. 首先使用free -m查看剩余內(nèi)存
To free pagecache, use echo 1 > /proc/sys/vm/drop_caches;
to free dentries and inodes, use echo 2 > /proc/sys/vm/drop_caches;
to free pagecache, dentries and inodes, use echo 3 >/proc/sys/vm/drop_caches.
Because this is a non-destructive operation and dirty objects are not freeable, the user should run sync first.
4.再使用free -m查看剩余內(nèi)存,情況如下:
2. Linux的內(nèi)存分配方式
大家都知道,Linux服務器為了提高效率,會提前申請內(nèi)存,即使這些內(nèi)存沒有被具體應用使用,Linux也會提前申請這些內(nèi)存,然后利用這些內(nèi)存做緩存用,即將剛打開的文件系統(tǒng)存入cache中,這樣對應的服務器free值會越來越少,buffers和cached會越來越大,因此給大家表象就是內(nèi)存越來越少了,大家就緊張了;其實,大家完全不用緊張,Linux服務器在發(fā)現(xiàn)內(nèi)存不足時,會自動清理cached區(qū)域,釋放內(nèi)存,然后繼續(xù)增大cache,free繼續(xù)減少。因此,那樣手動降低內(nèi)存使用率的方法,其實就是圖一時之快,呵呵。
新聞熱點
疑難解答