ubuntu缓存如何调整大小
导读:Ubuntu 缓存调整与优化指南 一 内存页缓存与内核参数 查看内存与缓存概况:使用命令 free -m、top、htop、vmstat,关注 buff/cache 与可用内存的变化。 释放内存页缓存(仅在需要时手动触发):先执行 syn...
Ubuntu 缓存调整与优化指南
一 内存页缓存与内核参数
- 查看内存与缓存概况:使用命令 free -m、top、htop、vmstat,关注 buff/cache 与可用内存的变化。
- 释放内存页缓存(仅在需要时手动触发):先执行 sync,再写入对应值到 /proc/sys/vm/drop_caches
- 仅清理 PageCache:echo 1 | sudo tee /proc/sys/vm/drop_caches
- 清理 dentries 和 inodes:echo 2 | sudo tee /proc/sys/vm/drop_caches
- 清理 PageCache、dentries 和 inodes:echo 3 | sudo tee /proc/sys/vm/drop_caches
说明:这是“释放”而非“调整上限”,多用于排查或临时回收内存,不建议频繁执行。
- 调整内存回收倾向(swappiness):
- 查看:cat /proc/sys/vm/swappiness
- 临时设为 10:sudo sysctl vm.swappiness=10
- 永久生效:在 /etc/sysctl.conf 中添加或修改 vm.swappiness=10,然后重启或执行 sudo sysctl -p。
- 调整脏页刷写策略(进阶):通过 vm.dirty_background_ratio 与 vm.dirty_ratio 控制内核将脏页写回磁盘的阈值与时机,需结合负载谨慎测试。
二 APT 与系统日志等磁盘缓存
- APT 包缓存:
- 查看大小:du -sh /var/cache/apt/archives
- 删除旧版本:sudo apt-get autoclean
- 删除全部下载包:sudo apt-get clean
- 清理不再需要的依赖:sudo apt-get autoremove
- systemd 日志(journald):
- 按时间保留最近 1 周:sudo journalctl --vacuum-time=1w
- 限制日志总大小不超过 500MB:sudo journalctl --vacuum-size=500M
- 图形化与第三方清理工具:可用 BleachBit、Disk Usage Analyzer 辅助定位与清理;社区工具如 Ubuntu Cleaner 亦可参考(注意来源与版本兼容)。
三 应用层缓存大小设置
- 编译缓存 ccache:
- 安装:sudo apt-get install ccache
- 设置缓存上限为 5GB:ccache -M 5G
- 建议将 /usr/lib/ccache 置于 PATH 前方以生效。
- 内存对象缓存 Memcached:
- 安装:sudo apt-get install memcached
- 编辑 /etc/memcached.conf,设置 -m 1024(单位 MB,示例为 1GB)
- 重启:sudo systemctl restart memcached
- DNS 缓存 dnsmasq:
- 安装:sudo apt-get install dnsmasq
- 在 /etc/dnsmasq.conf 中设置缓存内存(如 cache-mem 512,单位 KB,示例为 512KB)
- 重启:sudo systemctl restart dnsmasq
- Redis 缓存:
- 编辑 /etc/redis/redis.conf,设置 maxmemory 1gb 与淘汰策略 maxmemory-policy allkeys-lru
- 重启:sudo systemctl restart redis-server
- 其他网络代理(Privoxy):
- 编辑 /etc/privoxy/config,设置 cache-mem 536870912(示例 512MB)
- 重启:sudo systemctl restart privoxy。
四 监控与注意事项
- 监控建议:持续观察 free -m、top/htop、vmstat 的输出,关注 buff/cache、可用内存与 I/O 等待,以评估调整效果。
- 风险提示:
- 手动清理 PageCache 会短时降低文件系统访问速度;drop_caches 不会释放脏页,请先 sync。
- 过度降低 swappiness 可能导致内存紧张时无法及时换出;修改 dirty_ratio 等参数需充分测试。
- 清理 APT 或 journald 前确认无正在进行的包管理或日志写入操作,避免影响系统稳定性。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: ubuntu缓存如何调整大小
本文地址: https://pptw.com/jishu/750586.html
