温馨提示×

ubuntu缓存配置指南

小樊
46
2025-10-03 10:46:49
栏目: 智能运维

Ubuntu缓存配置指南

一、常见缓存类型及配置方法

Ubuntu系统中的缓存主要包括APT软件包缓存内存缓存(如PageCache、Swap)DNS缓存、**应用层缓存(如Memcached、dnsmasq)**等。以下是各类型缓存的详细配置说明:

1. APT软件包缓存管理

APT缓存用于存储下载的软件包文件(.deb格式),定期清理可释放/var/cache/apt/archives目录的磁盘空间。

  • 清理所有缓存:删除所有已下载的软件包文件(包括旧版本),执行sudo apt-get clean
  • 清理旧版本缓存:仅删除旧版本的软件包(保留当前安装版本的缓存),执行sudo apt-get autoclean
  • 删除孤立软件:移除系统中不再使用的孤立软件包(如依赖已被卸载的软件),执行sudo apt-get autoremove

2. 内存缓存调整

内存缓存(如PageCache)用于加速文件访问,但过多占用会导致系统内存不足。可通过调整Swappiness值控制内存与Swap分区的使用倾向。

  • 查看当前Swappiness值(范围0-100,值越高越易使用Swap):cat /proc/sys/vm/swappiness
  • 临时修改Swappiness值(如设为10,降低Swap使用频率):sudo sysctl vm.swappiness=10
  • 永久修改Swappiness值:编辑/etc/sysctl.conf文件,添加vm.swappiness=10,保存后重启系统生效。

3. DNS缓存配置(dnsmasq)

dnsmasq是轻量级DNS缓存服务器,可缓存DNS查询结果,减少重复查询时间。

  • 安装dnsmasqsudo apt-get install dnsmasq
  • 配置缓存大小:编辑/etc/dnsmasq.conf文件,添加cache-size=1000(缓存1000条记录,默认值通常为150,可根据需求调整)。
  • 配置上游DNS服务器:编辑/etc/resolv.conf文件,添加上游DNS服务器(如nameserver 8.8.8.8nameserver 8.8.4.4);若系统使用resolvconf服务,需编辑/etc/resolvconf/resolv.conf.d/head文件,确保nameserver 127.0.0.1(本地dnsmasq)在第一行。
  • 重启dnsmasq服务sudo systemctl restart dnsmasq

4. 应用层缓存配置(Memcached)

Memcached是高性能分布式内存对象缓存系统,常用于Web应用(如WordPress、Drupal)加速数据库查询。

  • 安装Memcachedsudo apt-get install memcached
  • 配置缓存大小:编辑/etc/memcached.conf文件,修改-m参数(单位:MB,如-m 1024表示分配1GB内存)。
  • 重启Memcached服务sudo systemctl restart memcached

5. 编译缓存(ccache)

ccache用于缓存编译结果,加快重复编译速度(如开发过程中多次编译同一项目)。

  • 安装ccachesudo apt-get install ccache
  • 使用ccache:在编译命令前添加CC="ccache gcc"(如CC="ccache gcc" make),或在项目配置中指定ccache路径。

二、缓存清理命令汇总

  • 清理PageCache(页面缓存):sudo sync && echo 1 | sudo tee /proc/sys/vm/drop_caches
  • 清理dentries和inodes(目录项和索引节点缓存):sudo sync && echo 2 | sudo tee /proc/sys/vm/drop_caches
  • 清理所有缓存(PageCache、dentries、inodes):sudo sync && echo 3 | sudo tee /proc/sys/vm/drop_caches
    注:sync命令用于将内存中的数据同步到磁盘,避免数据丢失。

三、缓存监控工具

  • free命令:查看内存使用情况(包括缓存、Swap),free -h(以人类可读格式显示)。
  • top/htop命令:实时查看系统进程及内存、CPU使用情况,top(默认)或htop(需安装,更直观)。
  • vmstat命令:查看虚拟内存统计信息(如PageCache命中率),vmstat 1(每秒刷新一次)。
  • Disk Usage Analyzer:图形化查看磁盘缓存使用情况,通过Ubuntu软件中心安装。

四、注意事项

  • APT缓存清理autoclean仅删除旧版本,clean删除所有缓存,清理前无需备份。
  • dnsmasq配置:若系统使用systemd-resolved服务,需禁用其DNS功能(编辑/etc/systemd/resolved.conf,设置DNSStubListener=no),避免端口冲突。
  • Memcached缓存大小:根据服务器内存调整,避免分配过多内存导致系统崩溃。
  • Swap分区:若物理内存充足(如16GB以上),可将Swappiness值设为10-30;若内存不足,可适当调高(如60),但会增加磁盘I/O。

0