標籤:http io os 使用 ar sp div 問題 on
上上周吧,一個朋友問我說他公司的伺服器記憶體free 為0 是為什麼,意思大概是記憶體去哪了,這引發了一個小小的討論,也就是記憶體釋放的問題…
首先我們可能會用free 去查看記憶體的使用率,它應該是這樣的
[[email protected] ~]# free -m total used free shared buffers cachedMem: 32040 31707 332 0 498 27649-/+ buffers/cache: 3559 28480Swap: 16087 0 16087##實際上在一個進程結束後其記憶體是會被釋放的,但是核心沒有立刻把記憶體收集到free中,而是存放在cache或buffers當中,以提高系統的IO效率,cache和buffered的記憶體是由核心進行動態組態管理,如果系統的free大小不夠的時候,系統會自動釋放cache buffer的記憶體給程式使用!####證:如果說used佔用很多,free很少,而且cache和buffer占的比例也很小,那表明記憶體是不夠用了##
當然,如果你仍需要看到free比較多,你可以嘗試這樣
1、使用sync命令將所有未寫的系統緩衝區write to disk,包含已修改的i node、已延遲的塊I\O和讀寫映射[[email protected] ~]# sync2、粗暴清理[[email protected] ~]# cat /proc/sys/vm/drop_caches0##可以看到預設是0,drop_caches提供了三個選項操作##1 清空頁緩衝 2 清空inode和分類樹緩衝 3 清空所有的緩衝##清空快取頁面##[[email protected] ~]# echo "1">/proc/sys/vm/drop_caches##再來看看##[[email protected] ~]# free -m total used free shared buffers cachedMem: 32040 2564 29475 0 0 40-/+ buffers/cache: 2524 29515Swap: 16087 0 16087
» 轉載保留著作權:IT辰逸 » 《談談Linux記憶體釋放》» 本文連結地址:http://www.ipython.me/centos/linux-memory-release.html» 本文著作權採取: BY-NC-SA 協議進行授權,轉載註明出處。除IT-Tools、News以及特別標註,本站所有文章均為原創。» 如果喜歡可以: 點此訂閱本站
談談Linux記憶體釋放