centos缓存工作模式
导读:CentOS 缓存工作模式概览 在 CentOS 中,“缓存”通常分为两个层面:一是内核的文件系统缓存(含 页缓存 Page Cache、目录项缓存 dcache、inode 缓存),二是虚拟化/块设备层的 磁盘写回策略(如 writeth...
CentOS 缓存工作模式概览
在 CentOS 中,“缓存”通常分为两个层面:一是内核的文件系统缓存(含 页缓存 Page Cache、目录项缓存 dcache、inode 缓存),二是虚拟化/块设备层的 磁盘写回策略(如 writethrough、writeback、none)。前者用于加速文件读写与目录遍历,后者决定数据何时落盘,直接影响 性能 与 数据安全。
内核文件系统缓存
- 工作机制:读文件时数据进入 页缓存;目录与文件元数据由 dcache/inode 缓存 加速;当缓存被认为过期或内存紧张时,内核按策略回收。目录列举依赖 readdir 缓存,命中则无需访问磁盘,未命中则从磁盘读取并写入缓存,随后在一定超时后失效并重取。
- 观察与理解:使用 free -h 或 vmstat -s | grep cache 查看缓存占用;注意 Linux 会用空闲内存做缓存,通常无需手动“腾内存”。
- 主动清理(仅用于诊断):向 /proc/sys/vm/drop_caches 写入 1/2/3 分别清理页缓存、目录/索引节点缓存或全部缓存(写入前建议同步:sync)。
- 回收倾向:通过 vm.vfs_cache_pressure 调整内核回收目录/索引节点缓存的压力,值越低越倾向保留。
以上要点有助于理解“内存即缓存”的设计哲学:用可用内存换取 I/O 性能,并在需要时自动回收。
虚拟磁盘与块设备写回模式
- 常见模式与取舍(以 KVM/QEMU 常见配置为例,默认多为 none):
- writethrough:数据同时写入宿主机缓存与磁盘,安全性最高、写入性能较低。
- writeback:先写入宿主机缓存,随后由内核回写磁盘,性能最好,但断电可能丢失尚未落盘的数据。
- none:绕过宿主机的页面缓存,直接写入磁盘(或设备),性能与安全性介于两者之间。
- 性能与安全排序:性能通常为 writeback > none > writethrough;安全性通常为 writethrough > none > writeback。
- 变更方式(示例):在虚拟机 XML 的磁盘设备中将 cache 设为所需模式(如 writethrough/writeback/none),或在宿主机对设备队列调度器做调整(如 echo SCHEDULER_NAME >
/sys/block/DEV/queue/scheduler)。
这些模式直接影响数据库、消息队列等对数据持久性敏感的工作负载表现。
应用层与系统服务缓存
- DNS 缓存:通过 nscd 提供服务名解析缓存。安装并启用后,可在 /etc/nscd.conf 中设置如 hosts 的 positive-time-to-live 与 negative-time-to-live 控制缓存时效。
- Web 服务:
- Nginx 可用 proxy_cache_path 配置反向代理缓存路径、大小与失效策略。
- Apache 可用 mod_cache/mod_cache_disk 启用磁盘缓存,并用 mod_expires 设置浏览器与代理缓存过期时间。
- PHP 运行环境:启用 OPcache 加速字节码执行,使用 APCu 做用户态对象缓存,或接入 Memcached 做分布式缓存。
- 数据库:如 MySQL 调整 innodb_buffer_pool_size 提升 InnoDB 数据页命中率(传统 query_cache 在新版本中已废弃)。
这些配置常与内核/虚拟化层缓存协同,构成端到端的缓存体系。
实用配置建议
- 以 数据安全优先 的场景(如数据库、交易系统):磁盘写回优先 writethrough 或 none,必要时配合电池供电的 RAID 控制器写缓存 与更频繁的 fsync。
- 以 吞吐与响应优先 的场景(如静态资源、缓存层前置):在确保断电风险可控的前提下使用 writeback,并做好备份与监控。
- 日常运维:优先依赖内核自动缓存;仅在基准测试或异常排查时临时清理缓存;通过 /proc/sys/vm 与 /etc/sysctl.conf 调整 swappiness、dirty 系列参数、vfs_cache_pressure 以匹配负载特征。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: centos缓存工作模式
本文地址: https://pptw.com/jishu/749633.html
