首页主机资讯ubuntu缓存设置多少好

ubuntu缓存设置多少好

时间2025-11-21 01:33:03发布访客分类主机资讯浏览671
导读:Ubuntu 缓存设置建议 总体原则 Linux 会按需自动使用空闲内存做 Page Cache、dentry/inode 等缓存,通常不需要、也不应该“固定一个缓存大小”。判断是否需要调整,优先看指标:用 free -h 观察 avai...

Ubuntu 缓存设置建议

总体原则

  • Linux 会按需自动使用空闲内存做 Page Cache、dentry/inode 等缓存,通常不需要、也不应该“固定一个缓存大小”。判断是否需要调整,优先看指标:用 free -h 观察 available 是否充足;用 vmstat 1sar -B 观察 si/so(swap 换入/换出) 是否频繁;用 iostat -x 1 观察 await、r/s、w/s 是否异常。出现持续换页或 I/O 等待升高,再考虑调参,而不是预先设定一个“缓存值”。

关键内核参数与推荐范围

  • 下表给出常用、对“缓存行为”影响最大的内核参数、含义与常见取值范围(需结合内存容量与负载实测微调):
参数 含义 推荐范围 何时调整
vm.swappiness 使用 swap 的倾向(0–100) 10–30(桌面/通用);内存充足可更低 频繁换页(si/so 不为 0)或交互卡顿
vm.dirty_ratio 脏页占内存上限,触发同步刷盘 10–20 写突发大、提交延迟敏感
vm.dirty_background_ratio 触发后台刷盘的脏页阈值 5–10 同上,用于“先后台写、后强制写”
vm.vfs_cache_pressure 回收目录项/索引节点缓存倾向 50–100(默认 100);想多留 VFS 缓存可降至 40–60 大量小文件/目录操作、元数据密集场景
  • 示例(临时生效,重启后失效):
    • sudo sysctl -w vm.swappiness=10
    • sudo sysctl -w vm.dirty_background_ratio=5
    • sudo sysctl -w vm.dirty_ratio=10
    • sudo sysctl -w vm.vfs_cache_pressure=50
  • 永久生效:将上述行写入 /etc/sysctl.conf/etc/sysctl.d/99-custom.conf,然后执行 sudo sysctl -p。上述区间与用法为常见实践,可据业务延迟/吞吐目标微调。

网络与应用层缓存

  • 网络 TCP 读写缓冲
    • 查看当前:cat /proc/sys/net/core/rmem_defaultrmem_maxwmem_defaultwmem_max;cat /proc/sys/net/ipv4/tcp_mem
    • 跨机房/高带宽大文件传输可适当增大,例如将最大发送/接收缓冲设为 12 MB
      • echo ‘net.core.rmem_max=12582912’ | sudo tee -a /etc/sysctl.conf
      • echo ‘net.core.wmem_max=12582912’ | sudo tee -a /etc/sysctl.conf
    • 同时建议开启窗口缩放、SACK、timestamp 等特性(通常默认已启用),以减少高时延下的性能劣化。
  • 应用层缓存
    • 包管理:定期清理 APT 缓存(sudo apt-get clean、sudo apt-get autoclean),避免无谓占用磁盘。
    • 编译:启用 ccache/sccache 复用编译结果,显著加速重复构建。
    • 服务类:如 memcached(设置 -m 参数,如 -m 1024 表示 1GB)、dnsmasq(如 cache-mem 512)按业务内存预算配置。

何时清理缓存与注意事项

  • 手动清理(仅在明确需要时执行,例如基准测试前、或缓存异常膨胀影响业务):
    • 同步落盘并释放缓存:sync & & echo 3 | sudo tee /proc/sys/vm/drop_caches
    • 仅释放 PageCache:echo 1;仅释放 dentry/inode:echo 2
    • 注意:该操作不会释放“脏页”,且会短时增加磁盘 I/O,生产环境谨慎使用,避免配置为定时任务“频繁清理”。
  • 更稳妥的做法:优先通过 swappiness、dirty_ratio/background_ratio、vfs_cache_pressure 等参数让内核自动、平滑地管理缓存;必要时使用 tuned 选择更贴近场景的性能配置(如 throughput-performance、virtual-guest),以获得稳定的整体调优效果。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: ubuntu缓存设置多少好
本文地址: https://pptw.com/jishu/752712.html
如何使用Debian Extract进行数据迁移 Debian Extract与系统资源管理的关系

游客 回复需填写必要信息