linux下内存使用情况的 参考值free大于available

8 篇文章 0 订阅
5 篇文章 0 订阅

参数说明

通过top,free,vmstat命令可看到内存使用情况

free 是真正尚未被使用的物理内存数量。

available 是应用程序认为估算的可用内存数量

优先从free中获取,如果free空间不够,就会:抢内存和缓冲,回收缓存和缓冲区以供给应用程序的请求

常见的现象是available>free

因为常见的计算公式是:
available = free + buffer + cache (估算)
必然available >free

遇到如下情况free>available

因是显示项目,所以一台机器上扎堆了一大堆容器,发现此问题;
在这里插入图片描述

原因分析

一定还存在什么误差未考虑
最低保留内存参数:cat /proc/sys/vm/min_free_kbytes
所以更准备的可用内存公式应该是:
available = free + buffer + cache (估算) - LowWaterMark

此现象也说明,内存已经不够用,需要增加内存

修改最小保留内存

单位为kb

  • 临时修改,重启机器后还原
echo 102400 > /proc/sys/vm/min_free_kbytes

cat /proc/sys/vm/min_free_kbytes
  • 永久修改,重启机器自动配置
vi /etc/sysctl.conf 
#最后一行添加:
vm.min_free_kbytes=102400

参考:

https://blog.csdn.net/wwqwwqwwq352/article/details/123734357
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=34e431b0ae398fc54ea69ff85ec700722c9da773
https://ask.csdn.net/questions/763648
https://zhuanlan.zhihu.com/p/548675607
https://blog.csdn.net/reliveIT/article/details/112578216

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值