讲师中心 微信公众号
AI工具推荐 视频效率加速

CentOS 7怎么修改本地缓存的大小

风伟酱_4800

风伟酱_4800

发布时间:2026-08-28 06:59:00

|

779人浏览过

|

来源于php中文网

原创

vm.dirty_ratio和vm.dirty_background_ratio控制脏页缓存上限,前者触发同步阻塞写入(如设15表示脏页超总内存15%时阻塞),后者启动异步后台刷盘(如设5表示达5%即开始),需按存储类型与业务场景设安全值并协同调优。

centos 7怎么修改本地缓存的大小

vm.dirty_ratio 和 vm.dirty_background_ratio 控制脏页缓存上限

CentOS 7 的「本地缓存」主要指内核管理的 Page Cache(页缓存)和脏页缓冲区,不是用户可直接分配的固定大小内存池。真正能调的,是内核何时开始写回磁盘、以及多大比例允许驻留内存——这由 vm.dirty_ratio 和 vm.dirty_background_ratio 决定。

这两个值是百分比,不是字节数。比如设为 vm.dirty_ratio = 15,表示当脏页占总物理内存超过 15%,内核会阻塞写入进程直到刷盘;vm.dirty_background_ratio = 5 表示达到 5% 就启动后台线程异步刷盘。

  • 临时生效:运行 sudo sysctl -w vm.dirty_ratio=15 和 sudo sysctl -w vm.dirty_background_ratio=5
  • 永久生效:在 /etc/sysctl.conf 中添加两行,再执行 sudo sysctl -p
  • 注意:数值过高(如 >30)可能导致突发写入时卡顿;过低(如

vm.vfs_cache_pressure 影响 dentry/inode 缓存保留倾向

文件系统元数据(目录项、inode)也占缓存,但默认倾向积极回收(vm.vfs_cache_pressure=100)。若你的 workload 大量重复访问相同路径(如 Web 服务静态文件),降低该值能显著减少元数据查找开销。

设为 50 意味着内核只回收一半倾向的缓存,设为 10 则几乎不主动释放——但这不是“分配更多缓存”,而是“更舍不得丢”。实际占用仍由访问模式动态决定。

  • 查当前值:sysctl vm.vfs_cache_pressure
  • 临时调整:sudo sysctl -w vm.vfs_cache_pressure=50
  • 永久写入 /etc/sysctl.conf 后 sudo sysctl -p
  • 别设成 0:内核不允许完全禁用回收,会自动 fallback 到 100

drop_caches 只是清空,不能“设大小”

很多人误以为 /proc/sys/vm/drop_caches 是配置接口,其实它只是清理开关。写入 3 会立刻释放页缓存 + dentry + inode,但这是瞬时操作,不改变任何阈值或策略。

CentOS Linux 7.9.2009
CentOS Linux 7.9.2009

CentOS Linux 7.9.2009是传统CentOS Linux 7的最后主要版本,也是很多企业历史服务器中仍可能遇到的系统版本。它以稳定、兼容RHEL 7生态、文档丰富和软件支持广泛著称,曾长期用于Web服务、数据库、虚拟化节点和企业内部业务系统。不过CentOS Linux 7已于2024年6月30日停止维护,现在继续使用会面临安全补丁缺失风险。该版本更适合旧业务迁移、历史环境恢复或离

下载

它适合调试或应急释放内存,但绝不能当“缓存大小设置”用——下次有文件读写,缓存又会按需增长,回到原来的行为逻辑。

  • 安全清理(先 sync):sync && echo 3 | sudo tee /proc/sys/vm/drop_caches
  • 不要加到 /etc/sysctl.conf 里:系统不支持 vm.drop_caches 持久化,写进去会报错
  • 脚本自动清理风险高:可能打断数据库日志写入、NFS 操作等,生产环境慎用

min_free_kbytes 决定“最低保底空闲内存”

这个参数常被忽略,但它直接影响缓存可用空间上限。内核必须保证至少 vm.min_free_kbytes 字节空闲,否则会提前触发 OOM Killer 或疯狂回收缓存。

默认值通常太小(几 MB),在 64G 内存机器上可能只有 65536(64MB),导致缓存刚涨到 60GB 就因“没留够底线”而被迫收缩。合理值建议设为物理内存的 1–2%,例如 128GB 机器设 vm.min_free_kbytes = 2097152(2GB)。

  • 临时改:sudo sysctl -w vm.min_free_kbytes=2097152
  • 永久改:加到 /etc/sysctl.conf,再 sudo sysctl -p
  • 验证是否生效:cat /proc/sys/vm/min_free_kbytes
  • 设太大(如 >5%)会浪费大量内存,设太小则缓存抖动剧烈

真正起效的从来不是“设缓存大小”,而是调几个关键水位线和压力阀值。所有参数都依赖 workload 特性——数据库写多?调低 dirty_ratio;Web 服务路径固定?压低 vfs_cache_pressure;内存大但应用吃紧?抬高 min_free_kbytes。没有通用最优解,只有监控后针对性微调。

热门AI工具

更多
火山引擎

火山引擎是一款面向企业的云计算与AI服务平台。

蛙蛙写作

一款AI论文写作工具,主要用于超级AI智能写作助手,适合需要提升相关任务效率的用户。

Loomy
Loomy Hot

一款AI工具,主要用于科大讯飞发布的桌面级 AI 助理,比 OpenClaw 更易用、更安全!,适合需要提升相关任务效率的用户。

UP简历
UP简历 Hot

一款AI办公效率工具,主要用于基于AI技术的免费在线简历制作工具,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

Laper
Laper Hot

Laper是专为编剧、导演和制片人推出的 AI 原生剧本创作工具。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

咔片AIPPT

一款在线AI演示文稿制作工具,可根据主题和内容需求辅助生成PPT结构与页面,提高演示材料制作效率。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

相关专题

更多
centos
centos

PHP中文网为大家提供centos相关信息,CentOS(Community Enterprise Operating System,中文意思是社区企业操作系统)是Linux发行版之一,是免费的、开源的、可以重新分发的开源操作系统,PHP中文网提供centos相关文章,以及安装教程。

3389

2023.06.16

常见的linux系统有哪些
常见的linux系统有哪些

linux系统有Ubuntu、Fedora、CentOS、Debian、openSUSE、Arch Linux、Gentoo、Slackware、Linux Mint、Kali Linux。更多关于linux系统的文章详情请阅读本专题下面的文章。php中文网欢迎大家前来学习。

6681

2023.10.27

CentOS安装部署教程精选
CentOS安装部署教程精选

CentOS安装部署专题提供 CentOS Stream 9/10 服务器安装与初始化配置教程,涵盖 ISO 镜像下载、系统分区、最小化安装、网络配置、SSH远程连接、防火墙、软件源、时区同步、用户权限和常见安装故障排查,适合新手搭建 Linux 服务器环境及运维人员快速部署 CentOS 系统。

194

2026.05.29

CentOS运维命令大全
CentOS运维命令大全

CentOS运维命令专题整理 CentOS 服务器日常管理常用命令,覆盖系统信息查看、用户与权限管理、服务启动停止、进程监控、端口查看、日志分析、磁盘空间清理、软件包安装、定时任务配置和故障排查方法,帮助运维人员高效完成 CentOS 系统维护工作。

188

2026.05.29

CentOS建站环境搭建实战教程
CentOS建站环境搭建实战教程

CentOS建站环境专题围绕服务器网站部署场景,系统讲解在 CentOS 上安装和配置 Nginx、Apache、PHP、MySQL、MariaDB、PHP-FPM、SSL证书、网站目录权限、虚拟主机、反向代理和 WordPress 等常见建站环境,适合个人站长和运维人员搭建稳定 Web 服务。

223

2026.05.29

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

20

2026.10.22

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

0

2026.10.22

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

20

2026.10.22

Gradle怎么构建Java项目
Gradle怎么构建Java项目

本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。

0

2026.10.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
CentOS 官方文档
CentOS 官方文档

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn