首先咱們可能會用free 去查看內存的使用率,它應該是這樣的node
1python 2緩存 3spa 4進程 5ip 6內存 7it 8table 9效率 |
[root@ipython ~]# free -m total used free shared buffers cached Mem: 32040 31707 332 0 498 27649 -/+ buffers/cache: 3559 28480 Swap: 16087 0 16087
##實際上在一個進程結束後其內存是會被釋放的,可是內核沒有馬上把內存收集到free中,而是存放在cache或buffers當中,以提升系統的IO效率,cache和buffered的內存是由內核進行動態的配置管理,若是系統的free大小不夠的時候,系統會自動釋放cache buffer的內存給程序使用!##
##證:若是說used佔用不少,free不多,並且cache和buffer佔的比例也很小,那代表內存是不夠用了## |
固然,若是你仍須要看到free比較多,你能夠嘗試這樣
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
一、使用sync命令將全部未寫的系統緩存區write to disk,包含已修改的i node、已延遲的塊I\O和讀寫映射 [root@ipython ~]# sync
二、粗暴清理 [root@ipython ~]# cat /proc/sys/vm/drop_caches 0 ##能夠看到默認是0,drop_caches提供了三個選項操做## 1 清空頁緩存 2 清空inode和目錄樹緩存 3 清空全部的緩存
##清空緩存頁## [root@ipython ~]# echo "1">/proc/sys/vm/drop_caches
##再來看看## [root@ipython ~]# free -m total used free shared buffers cached Mem: 32040 2564 29475 0 0 40 -/+ buffers/cache: 2524 29515 Swap: 16087 0 16087 |