温馨提示×

debian缓存如何诊断

小樊
36
2026-10-16 08:09:34
栏目: 智能运维

在 Debian 系统中,“缓存”可以指多种东西,例如:

  • APT 软件包缓存(/var/cache/apt/archives)
  • 系统内存缓存 / 页面缓存(Linux 内核管理)
  • DNS 缓存(systemd-resolved、nscd、dnsmasq 等)
  • Web/应用层缓存(如 nginx、redis、varnish)
  • 用户态缓存(如 Firefox、APT proxy)

下面按常见场景说明如何诊断 Debian 上的缓存问题。


一、APT 缓存诊断

1. 查看 APT 缓存占用

du -sh /var/cache/apt/archives

2. 查看已缓存的 deb 包

ls -lh /var/cache/apt/archives/

3. 清理 APT 缓存(诊断前可对比)

sudo apt clean
sudo apt autoclean

4. APT 更新异常时检查

sudo apt update
cat /var/log/apt/history.log

二、Linux 内存缓存诊断(Page Cache)

1. 查看内存与缓存

free -h
  • buff/cache 即为缓存
  • 正常情况下占用高不代表问题

2. 查看详细内存组成

cat /proc/meminfo

关注:

  • Cached
  • Buffers
  • Dirty

3. 手动释放缓存(仅诊断用)

sudo sync
sudo echo 3 > /proc/sys/vm/drop_caches

三、DNS 缓存诊断

1. 使用 systemd-resolved

systemd-resolve --statistics

或(新版本):

resolvectl statistics

清空 DNS 缓存:

sudo resolvectl flush-caches

2. 使用 nscd

sudo nscd -g

重启/清空:

sudo systemctl restart nscd

3. 使用 dnsmasq

sudo systemctl status dnsmasq

四、Web / 应用缓存诊断

Nginx 缓存

grep proxy_cache /etc/nginx/nginx.conf
ls -lh /var/cache/nginx

Redis 缓存

redis-cli info memory
redis-cli flushall

Varnish

varnishstat
varnishlog

五、常见缓存问题排查思路

现象:更新后软件版本不对

✅ 检查 APT 缓存
✅ apt-cache policy 包名

现象:DNS 改了不生效

✅ 清 DNS 缓存
✅ resolvectl flush-caches

现象:内存占用高但进程不多

✅ 看 buff/cache
✅ 属于正常 Linux 行为

现象:网页更新慢

✅ 清浏览器 / Nginx / CDN 缓存


六、日志与工具推荐

  • journalctl -u 服务名
  • htop / atop
  • iotop(磁盘缓存写入)
  • cachestat(需要 bcc / bpftrace)

如果你能说明具体是哪一类缓存(APT / 内存 / DNS / Web / 其他)以及遇到了什么现象,我可以给你更精确的诊断命令和解决方案。

0 踩