温馨提示×

centos缓存更新频率多少

小樊
42
2025-12-15 09:12:40
栏目: 智能运维

CentOS 缓存更新频率说明

概览 在 CentOS 中,“缓存”通常分为三类:YUM/DNF 元数据缓存DNS 解析缓存内核页缓存/脏页回写策略。它们没有统一的固定“更新频率”,分别由本地配置与远端记录决定。

YUM/DNF 元数据缓存

  • 默认行为:执行 yum/dnf 命令时按需连接仓库并缓存元数据;若本地缓存不存在或显式要求,会触发刷新。
  • 仓库元数据本身由镜像站按各自策略更新,例如有镜像标注为每 5 小时更新一次;因此本地缓存“新鲜度”取决于上一次 makecache 与镜像站更新之间的间隔。
  • 建议做法:
    • 手动刷新:执行 yum makecachednf makecache
    • 定时刷新:例如每 2 天重建一次缓存
      • 0 0 */2 * * yum clean all && yum makecache
    • 自动检查更新(不等同于刷新缓存):安装并启用 yum-cron,在 /etc/yum/yum-cron.conf 中设置如 update_interval = 1(每天检查)。

DNS 解析缓存

  • 本地缓存:若使用 nscdsystemd-resolved,缓存时间通常遵循 DNS 记录的 TTL,很多实现取 TTL 的一半;例如记录 TTL=3600 秒,本地缓存约 1800 秒
  • 远程缓存:运营商或公共 DNS 的缓存由对方策略决定,可能为几分钟到几天
  • 查看与刷新要点:
    • 查看记录 TTL:dig example.com A +noall +answer
    • 刷新方式:重启 nscd(systemctl restart nscd)、重启 systemd-resolved(systemctl restart systemd-resolved),或切换至无缓存/公共 DNS 解析器。

内核页缓存与脏页回写

  • 这不是固定“更新频率”,而是由内核参数控制回写时机与阈值:
    • vm.dirty_background_ratio:当脏页达到内存的该百分比时,启动后台回写进程。
    • vm.dirty_ratio:当脏页达到该百分比时,开始同步回写,可能阻塞应用 I/O。
  • 调整示例(临时生效):
    • sysctl -w vm.dirty_background_ratio=5
    • sysctl -w vm.dirty_ratio=10
  • 如需“立即落盘”而非调整频率,可先 sync,必要时再清理可回收缓存(不影响脏页):echo 3 > /proc/sys/vm/drop_caches。

0