Ubuntu缓存防溢出的实用方案
一 内存缓存 PageCache 与内核回收机制
free -m、top、vmstat 观察内存与缓存使用情况。只有在出现内存紧张或性能异常时,才考虑手动清理。手动清理前先执行 sync 将脏页写回磁盘,再写入对应值到 /proc/sys/vm/drop_caches:echo 1(清理 PageCache)、echo 2(清理 dentries/inodes)、echo 3(清理全部)。注意:频繁或定时清理会触发额外 I/O,影响性能,仅作应急手段。二 磁盘缓存清理与自动化
sudo du -sh /var/cache/aptsudo apt-get autocleansudo apt-get cleansudo apt-get autoremovesudo journalctl --disk-usage、sudo journalctl --vacuum-time=2weeks、sudo journalctl --vacuum-size=500Msudo rm -rf /tmp/*rm -rf ~/.cache/thumbnails/*rm -rf ~/.cache/mozilla/firefox/*sudo apt-get install bleachbitsudo apt-get install stacer#!/bin/bash sync; sleep 10; echo 3 | sudo tee /proc/sys/vm/drop_cachescrontab -e,如 0 * * * * /path/to/script.sh三 预防与容量规划
df -hsudo apt install ncdu && ncdu /snap list 查看,snap remove <pkg> 卸载不再需要的包dpkg --list | grep linux-image,sudo apt remove --purge linux-image-<version>sudo apt-get install gparted。四 常见误区与建议
drop_caches 当作常规维护手段。它会带来额外 写回与 I/O,可能引发抖动;仅在内存紧张或测试场景使用。