内存的去向主要有3个:

  1. 进程消耗。 2. slab消耗 3.pagetable消耗

进程消耗:top查看

slab消耗:echo cat /proc/slabinfo |awk 'BEGIN{sum=0;}{sum=sum+$3*$4;}END{print sum/1024/1024}' MB

pagetable消耗:echo grep PageTables /proc/meminfo | awk '{print $2}' KB

如果内存不足影响业务,需要临时释放一下slab占用的内存,
可以参考以下步骤: #echo 2 > /proc/sys/vm/drop_caches
等内存回收完毕后再 #echo 0 > /proc/sys/vm/drop_caches
其中drop_caches的4个值有如下含义:
0:不做任何处理,由系统自己管理 1:清空pagecache 2:清空dentries和inodes 3:清空pagecache、dentries和inodes