温馨提示×

怎样优化ubuntu缓存

小樊
47
2026-09-22 01:59:16
栏目: 智能运维

在 Ubuntu(Linux)里,“缓存”通常指几类不同的东西:文件系统缓存(Page Cache)、APT 软件包缓存、应用层缓存(如浏览器/Nginx/Redis)、以及 swap 行为。下面按“该不该优化、怎么优化”来系统说明。


一、Linux 文件系统缓存(Page Cache)

一般不需要手动优化,Linux 会自动用空闲内存做缓存,提升性能。

1. 查看缓存使用情况

free -h
# 或
cat /proc/meminfo | grep -E "Cached|Buffers"

2. 手动释放缓存(仅调试/特殊场景)

sudo sync
sudo sysctl -w vm.drop_caches=3

说明:

  • 1:释放 pagecache
  • 2:释放 dentries/inodes
  • 3:全部释放
    ⚠️ 生产环境不建议频繁使用

3. 调整缓存回收倾向(可选)

# 数值越大越倾向回收缓存(默认100)
sudo sysctl -w vm.swappiness=10

适合:

  • 内存紧张服务器
  • 桌面避免卡顿

二、APT 缓存优化(软件包)

Ubuntu 使用 /var/cache/apt/archives

1. 清理已下载的 deb 包

sudo apt clean
sudo apt autoclean

2. 自动清理无用依赖

sudo apt autoremove

3. 限制 APT 缓存大小(高级)

编辑:

sudo nano /etc/apt/apt.conf.d/95cache

示例:

APT::Cache-Limit "100000000";
Dir::Cache::archives::MaxSize "500";

三、应用层缓存优化(常见服务)

1. Nginx 缓存

proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=mycache:10m inactive=60m;

2. Redis 缓存

maxmemory 512mb
maxmemory-policy allkeys-lru

3. 浏览器 / Docker

  • 浏览器:定期清缓存
  • Docker:
docker system prune -a

四、磁盘与 IO 缓存优化

1. 使用更快的 IO 调度器

cat /sys/block/sda/queue/scheduler

SSD 推荐:

echo mq-deadline | sudo tee /sys/block/sda/queue/scheduler

2. 使用 tmpfs(内存文件系统)

sudo mount -t tmpfs tmpfs /tmp

五、什么时候“不要优化”

  • 内存充足时,Linux 缓存越多越好
  • 频繁 drop cache 反而降低性能
  • swappiness 不是越低越好(桌面可低,服务器看负载)

六、快速建议(按使用场景)

场景 建议
服务器 swappiness=10,不手动清缓存
桌面卡顿 清 apt,关后台应用
低内存 加 swap,限制缓存
高并发 Nginx/Redis 缓存调优

如果你能说明:

  • 是 服务器还是桌面
  • 主要跑什么(Web / DB / 桌面)
  • 内存多大

我可以给你一套针对性配置方案。

0 踩