Ubuntu 内存与磁盘清理技巧
一 先判断是否需要清理
- 使用命令查看内存与缓存概况:
free -h。关注 available 与 buff/cache 列,Linux 会用空闲内存做 PageCache/Dentries/Inodes 以提升性能,看到高缓存并不等于内存紧张。若 available 充足,无需强行清理。必要时再执行缓存释放操作。
二 释放内存缓存的安全做法
- 仅当需要测试、复现问题或缓存异常膨胀时执行;正常情况下不建议频繁清理,因为缓存会提升 I/O 性能。
- 步骤:
- 先同步数据到磁盘:
sudo sync - 按需写入 drop_caches(仅在 root 下执行):
- 仅清理 PageCache:
echo 1 | sudo tee /proc/sys/vm/drop_caches - 清理 dentries 和 inodes:
echo 2 | sudo tee /proc/sys/vm/drop_caches - 清理 PageCache、dentries 和 inodes:
echo 3 | sudo tee /proc/sys/vm/drop_caches
- 仅清理 PageCache:
- 验证效果:
free -h
- 先同步数据到磁盘:
- 说明:上述操作不会清除 Swap,如需腾挪内存可临时关闭并重新开启 Swap(会丢失 Swap 中内容):
sudo swapoff -a && sudo swapon -a。仅在可控场景下使用。
三 释放磁盘空间以间接提升可用内存
- APT 缓存与依赖
- 删除已下载的 .deb 包:
sudo apt clean - 删除过时包:
sudo apt autoclean - 移除无用依赖:
sudo apt autoremove
- 删除已下载的 .deb 包:
- 旧内核清理
- 查看当前内核:
uname -r - 列出已安装内核:
dpkg --list | grep linux-image - 删除指定旧内核(示例):
sudo apt-get purge linux-image-<version>;删除前务必确认当前内核不在其中。
- 查看当前内核:
- 日志与临时文件
- 限制 systemd 日志大小/时间:
sudo journalctl --vacuum-size=100M、sudo journalctl --vacuum-time=30d - 清理旧压缩日志与临时文件:
sudo rm -rf /var/log/*.gz /var/log/*.old;sudo rm -rf /tmp/*
- 限制 systemd 日志大小/时间:
- 用户级缓存与回收站
- 清理用户缓存:
rm -rf ~/.cache/* - 清空回收站:
rm -rf ~/.local/share/Trash/*
- 清理用户缓存:
- 图形化工具
- Stacer:
sudo apt install stacer - BleachBit:
sudo apt install bleachbit
- Stacer:
- 大文件定位
- 快速查看目录占用:
sudo du -h --max-depth=1 /home、sudo du -h --max-depth=1 /var。
- 快速查看目录占用:
四 自动化与维护建议
- 定时清理(示例)
- 每周日凌晨 3:10 自动清理 APT:
10 3 * * 0 root sudo apt autoclean && sudo apt autoremove(写入/etc/crontab或 root 的 crontab)。
- 每周日凌晨 3:10 自动清理 APT:
- 重启恢复
- 遇到顽固内存泄漏或缓存异常,重启可快速恢复:
sudo reboot(生产环境请在维护窗口执行)。
- 遇到顽固内存泄漏或缓存异常,重启可快速恢复:
- 安全提示
- 谨慎使用
rm -rf,删除前确认路径;重要数据先备份;避免清理系统关键目录(如 /usr /etc /boot)。
- 谨慎使用
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 55@qq.com 举报,一经查实,本站将立刻删除。转转请注明出处:https://www.szhjjp.com/n/1464519.html