free命令分析系统可用内存剩余量
写此文的目的:
MySQL5.6跑在centos6机器上,管理此数据库的某运维人员反映系统内存全被用完了,且坚持内存被用完的观点,根据回馈buffer pool不大,起初我怀疑是内存泄漏,后他们重启os,内存正常。通过对他们技术水平的怀疑,感觉可能有其他原因,后来由于他们的能力有限,我接手运维数据库,后他们又反映没内存,我才意识到问题严重性:free命令的误解读,将centos6中Mem/used选项作为了唯一监控指标
一、通过free打印出centos6与centos7各自的内存使用信息
centos6:
[root@db1 ~]# free -m
total used free shared buffers cached
Mem: 22009 21807 202 0 131 17041
-/+ buffers/cache: 4634 17375
Swap: 7999 186 7813
centos7:
[root@rp-hb2-test-mysql ~]# free -m
total used free shared buff/cache available
Mem: 15884 8669 282 0 6932 6854
Swap: 0 0 0