Linux服务器清理物理内存,如何断定linux服务器内存不足?

前言(需要知道的知识): Linux 尽可能的要求使用物理内存来提高 Buffer 和 Cache 对 Disk 的 I/O 操作,尽可能多的将 I/O 操作磁盘上的信息保存在内存当中,如果需要多的内存空间, Linux 才会将一些内存使用 LRU 算法清理出去,否则就继续保存。

1. TOP 命令

这个命令是用来监控 linux 系统运行状况的,比如:cpu,内存使用。基本上程序员都知道这个命令,但是能正确理解这个命令的却很少。就像之前让同事查看一下服务器是否内不足,他使用 top 然后直接看了第四行的 used 发现很大,几乎和 total 一样,于是他就断定服务器内存不足了。

其实这里的 used 指的是现在系统内核控制的内存数,free 是内核还没有纳入其管理范围的数量。纳入内核管理并不一定就是在使用中,还包括过去使用过的现在可以被重复利用的内存,内核并不把这些可被重新使用的内存交还到 free 中去,因此在linux 上 free 内存会越来越少,但不用为此担心。我们真正需要注意的是第五行 swap 的 used ,当这个数值一直在大幅度的变化,说明内核与交换分区一直在交换数据,这是真的内存不足。

技巧:

如果就一定要计算出可用内存,可以参考一个近似计算的公式:第四行的free + 第四行的buffers + 第五行的cached

31c02db3612d60f5bb792258afa3c6ec.png

2. VMSTAT 命令

vmstat报告有关进程,内存,页面调度,块IO,陷阱,磁盘和cpu活动的信息。

cb12f97b8a0b1df7e94517d26755d9d1.png

vmstat 3 3

# 上述图片就是该命令的执行结果

# si 每秒从交换区写到内存的大小

# so: 每秒写入交换区的内存大小

# 能看到 swap 下的 si so 都没有值,说明他在这段时间内没有与交换分区进行数据交换,这就说明内存很充足。

3. FREE 命令

命令显示在操作系统中的使用和空闲的内存数量

注意:通常我们使用 top 和 free 看到的 free 内存是不一样的,这就是前言所说的问题,free 显示空闲内存大,是真的大,无需担心内存不足的问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值