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

二、分析统计信息总结系统内存剩余多少
centos6:
查看圈起部分即可:
表示从应用程序的角度来看,系统还剩下多少内存可用(等于free+buff

本文介绍了如何分析CentOS 6和7中使用`free`命令来查看内存使用情况,特别是如何理解`used`、`buffers`、`cached`和`available`等字段。在CentOS 6中,`used`包括了`buffers`和`cached`,而在CentOS 7中,`used`不包含这些。`available`字段在CentOS 7中提供了一个更准确的可用内存指标。
最低0.47元/天 解锁文章

1万+

被折叠的 条评论
为什么被折叠?



