当前位置: 代码网 > 服务器>服务器>Linux > Linux vm.min_free_kbytes内核参数使用及说明

Linux vm.min_free_kbytes内核参数使用及说明

2026年01月31日 Linux 我要评论
1 简介vm.min_free_kbytes是用于 linux 内核的 vm.min_free_kbytes sysctl 可调参数。2 vm.min_free_kbytes如何工作系统需要内存分配以

1 简介

vm.min_free_kbytes是用于 linux 内核的 vm.min_free_kbytes sysctl 可调参数。

2 vm.min_free_kbytes如何工作

  • 系统需要内存分配以确保系统本身的正常运行。
  • 如果内核允许分配所有内存,则在需要内存进行常规操作以保持操作系统平稳运行时,它可能会遇到困难。
  • 这就是内核提供可调vm.min_free_kbytes 的原因。
  • 该可调参数将强制内核的内存管理器保留至少 x 量的空闲内存。

这是来自linux内核文档的官方定义:

  • 这用于强制 linux vm 保持最小数量的可用千字节。
  • vm 使用这个数字来计算系统中每个lowmem 区域的 watermark[wmark_min] 值。
  • 每个 lowmem 区域都会根据其大小按比例获得一些保留的空闲页面。
  • 满足 pf_memalloc 分配需要一些最小的内存量;如果您将其设置为低于1024kb,您的系统将被巧妙地破坏,并且在高负载下容易死锁。
  • 设置得太高会立即 oom 你的机器。

3 vm.min_free_kbytes验证

创建了一台约分配7g-8g左右内存的虚拟机,系统版本使用统信操作系统v20 1020a。

  • 首先用free命令查看内存使用情况:

查看上面的附图可以得到总内存在约7.9g。使用了532mb,6.9g内存可用,491mb用于缓冲区高速缓存。并且有7.1g的内存可用。

  • 看一下vm.min_free_kbytes默认值:

  • 调整vm.min_free_kbytes值,看看对系统内存有什么影响:

  • 可以看到参数值修改成约1.5gb,已经生效,使用free命令查看一下:

参数值修改不会更改可用内存和缓冲区高速缓存,但是显示为可用内存量从7182mb减少到4985mb 。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2026  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com