在这个大年30早晨,收到告警服务器磁盘只有20%空闲,登上去处理后顺便发现服务器16G内存快用满了,top命令显示只有几百M了。
登录zabbix,从1月29,30号开始,内存使用一路上涨就再没下来过了。
图表的V线段还是部署的每天晚上自动sync
echo 1 > /proc/sys/vm/drop_caches
这个部署是为了释放cached占用过大的问题了,也是之前内存占用满的问题。
安稳了个把月,cached没占了,第一次发现slab占用如此高。[root@xxxxx]# echo `cat /proc/slabinfo |awk 'BEGIN{sum=0;}{sum=sum+$3*$4;}END{print sum/1024/1024/1024}'` GB
13.81611 GB
#释放slab占用的内存,先释放再设置回自动
echo 2 > /proc/sys/vm/drop_caches
echo 0 > /proc/sys/vm/drop_caches
整理了一下,top命令查看内存占用之后,要弄清楚是怎么计算来的。
基本上等于这个命令的结果cat /proc/meminfo | grep -w -E "Active|Cached|Buffers|Slab|PageTables" | grep -v "(" | awk '{sum+=$2} END {print sum}'
扩展
查看所有进程占用的物理内存总和echo `ps aux --sort -rss | awk '{sum+=$6} END {print sum/1024/1024}'` GB
查看slab占用的物理内存cho `cat /proc/slabinfo |awk 'BEGIN{sum=0;}{sum=sum+$3*$4;}END{print sum/1024/1024/1024}'` GB
标签: none
非特殊说明,本博所有文章均为博主原创。
最新文章