昨天下午客户那边反馈,说服务器里面32G的内存通过TOP查看,已经用了31G多的,让我处理解决。我当时过程过去一看,刚开始也认为是内存快满了,晚上回去做了个24小时的稳定性测试,探讨了Linux的Mem使用情况:

查看内存最方便的命令是free -m,如:
[root@host ~]# free -m

          total  used  free shared buffers cached
      Mem: 1024  1005  19   0    9    782

-/+ buffers/cache: 212    811
Swap:       996     0     995

[root@host ~]#
从上看出这个Linux系统一共有内存1024M,但当前Linux 系统已经占用的内存有多少呢?大多数用户的答案是1005M,其实不然。
当前
VPS占用的内存应该是212M,也就是1005下面那个数字:212,代表已经占用的内存。后面的那个811,代表当前Linux系统的可用内存。
"-/+ buffers/cache:"开头的这行才是实际的占用内存和可用内存。
所以,看内存使用情况,应该看"-/+ buffers/cache:"开头的这一行,如果这一行最后的数字接近0,那么说明Linux系统的内存快用完了,这时候Linux系统反应就比较慢。如果这个数字还比较大,那么Linux系统还有较多内存可用,系统不应该慢。