Ubuntu回收网络缓存的方法分类及操作步骤
DNS缓存用于加速域名解析,回收需根据系统使用的解析器选择对应命令:
sudo systemd-resolve --flush-caches清除DNS缓存;可通过resolvectl statistics验证缓存是否清零。sudo service nscd restart重启服务以清理缓存;未安装时可通过sudo apt-get install nscd安装。sudo service dnsmasq restart重启服务。ARP缓存存储IP与MAC地址的映射关系,回收命令为:
sudo ip -s -s neigh flush all,执行后会清除所有ARP缓存条目,系统会重新获取设备MAC地址。
路由表缓存用于存储网络路径信息,回收命令为:
sudo ip route flush cache,执行后会强制系统重新计算路由信息。
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缓存参数重置为初始值,释放相关内存。
若系统运行Nginx或Apache等Web服务器,重启服务可清理HTTP缓存:
sudo service nginx restartsudo service apache2 restartAPT缓存存储下载的软件包文件,虽非网络传输缓存,但可释放磁盘空间:
sudo apt-get clean(删除/var/cache/apt/archives/目录下所有文件)sudo apt-get autoclean(仅删除不再需要的旧版本包)sudo apt-get clean && sudo apt-get autoclean。