温馨提示×

Ubuntu如何回收网络缓存

小樊
54
2025-09-26 20:40:14
栏目: 智能运维

Ubuntu回收网络缓存的方法分类及操作步骤

1. 清理DNS缓存

DNS缓存用于加速域名解析,回收需根据系统使用的解析器选择对应命令:

  • systemd-resolved(Ubuntu 16.04及以上默认)
    执行sudo systemd-resolve --flush-caches清除DNS缓存;可通过resolvectl statistics验证缓存是否清零。
  • nscd(Name Service Cache Daemon)
    若已安装nscd,运行sudo service nscd restart重启服务以清理缓存;未安装时可通过sudo apt-get install nscd安装。
  • dnsmasq
    若使用dnsmasq作为本地缓存,执行sudo service dnsmasq restart重启服务。

2. 清理ARP缓存

ARP缓存存储IP与MAC地址的映射关系,回收命令为:
sudo ip -s -s neigh flush all,执行后会清除所有ARP缓存条目,系统会重新获取设备MAC地址。

3. 清理路由表缓存

路由表缓存用于存储网络路径信息,回收命令为:
sudo ip route flush cache,执行后会强制系统重新计算路由信息。

4. 清理TCP Socket缓存

TCP Socket缓存用于管理网络连接的状态信息,可通过重置内核参数清理:

sudo sysctl -w net.ipv4.tcp_mem="0 0 0"
sudo sysctl -w net.ipv4.tcp_rmem="0 0 0"
sudo sysctl -w net.ipv4.tcp_wmem="0 0 0"

这些命令会将TCP缓存参数重置为初始值,释放相关内存。

5. 清理HTTP缓存(Web服务器)

若系统运行Nginx或Apache等Web服务器,重启服务可清理HTTP缓存:

  • Nginxsudo service nginx restart
  • Apachesudo service apache2 restart
    重启后,服务器会重新加载页面并清理旧缓存。

6. 清理APT包缓存

APT缓存存储下载的软件包文件,虽非网络传输缓存,但可释放磁盘空间:

  • 清理所有已下载包sudo apt-get clean(删除/var/cache/apt/archives/目录下所有文件)
  • 清理旧版本包sudo apt-get autoclean(仅删除不再需要的旧版本包)
  • 组合清理sudo apt-get clean && sudo apt-get autoclean

0