背景:
最近往数据库里存的东西有点多,磁盘不够用
查看磁盘使用情况
df -h
/dev/sda5
(根目录 /
) 已使用 92%
咱们来开源节流
目录
背景:
一、开源
二、节流
1.查找 大于 500MB 的文件:
1. Snap 缓存文件
2. 旧的 MySQL 日志和临时文件
3. 旧的下载文件
4. Ubuntu ISO 文件
⚠️ 不要删除的文件
2. 清理无用的 udev 规则
3. 清理 journalctl 日志
4. 清理 APT 缓存
5. 清理 Snap 旧版本
6. 释放缓存
一、开源
先虚拟机关机(我的这个只是演示,后台还在运行命令暂时管不了)
在设置里面调节磁盘大小
点碎片整理
还有选择扩展磁盘容量
之后的事就交给另一个博主吧,我不想当复读机
【2023年全新保姆级教程】解决Ubuntu文件系统磁盘空间不足low disk space on filesystem root-CSDN博客
二、节流
1.查找 大于 500MB 的文件:
sudo find / -type f -size +500M -exec ls -lh {} \;
以下是可以 安全删除 的文件:
1. Snap 缓存文件
这些是 Snap 的安装包缓存,删除后不会影响已安装的应用
sudo rm -rf /var/lib/snapd/cache/*
sudo rm -rf /var/lib/snapd/snaps/gnome-42-2204_202.snap
sudo rm -rf /var/lib/snapd/snaps/gnome-42-2204_176.snap
2. 旧的 MySQL 日志和临时文件
这些是 MySQL 生成的临时文件、日志文件
sudo systemctl stop mysql # 先停止 MySQL
sudo rm -rf /data/mysql/binlog.000056
sudo rm -rf /data/mysql/undo_002
sudo rm -rf /data/mysql/#innodb_temp/temp_10.ibt
sudo systemctl start mysql # 清理后重新启动 MySQL
3. 旧的下载文件
我的 /home/admin123/下载/
目录下有 3.5G 的 CSV 文件 和 906M 的 ZIP 文件
rm -rf "/home/admin123/下载/userBehavior.csv"
rm -rf "/home/admin123/.cache/vmware/drag_and_drop/XStE2o/UserBehavior.csv.zip"
4. Ubuntu ISO 文件
你的 /media/admin123/Ubuntu 20.04.2.0 LTS amd64/casper/filesystem.squashfs
约 2.0G,如果不再需要 Ubuntu 安装盘,可以卸载并删除:
sudo umount /media/admin123/Ubuntu*
sudo rm -rf "/media/admin123/Ubuntu 20.04.2.0 LTS amd64/casper/filesystem.squashfs"
⚠️ 不要删除的文件
以下文件虽然很大,但 不能删除:
/usr/local/mysql/bin/mysqld
(MySQL 的主程序)/proc/kcore
(虚拟内存映射,不占真实磁盘空间)
可安全删除的文件和命令:
# 1. 清理 Snap 缓存
sudo rm -rf /var/lib/snapd/cache/*
sudo rm -rf /var/lib/snapd/snaps/gnome-42-2204_*.snap# 2. 清理 MySQL 日志和临时文件
sudo systemctl stop mysql
sudo rm -rf /data/mysql/binlog.000056 /data/mysql/undo_002 /data/mysql/#innodb_temp/temp_10.ibt
sudo systemctl start mysql# 3. 删除旧的下载文件
rm -rf "/home/admin123/下载/userBehavior.csv"
rm -rf "/home/admin123/.cache/vmware/drag_and_drop/XStE2o/UserBehavior.csv.zip"# 4. 删除 Ubuntu ISO
sudo umount /media/admin123/Ubuntu*
sudo rm -rf "/media/admin123/Ubuntu 20.04.2.0 LTS amd64/casper/filesystem.squashfs"
2. 清理无用的 udev
规则
udev
主要用于管理设备,通常不会占用大量空间。但如果你想清理无用的 udev
规则,可以执行:
sudo udevadm control --reload-rules
sudo udevadm trigger
这将重新加载 udev
规则并应用更改
如果udev
产生了大量日志,可以检查日志:
journalctl -u systemd-udevd --no-pager --since "1 day ago"
如果 udev
日志过多,可以清理:
sudo journalctl --vacuum-size=100M
将日志大小限制为 100MB
3. 清理 journalctl
日志
系统日志可能会占用大量空间,可以检查日志大小:
journalctl --disk-usage
如果占用过大,可以限制日志大小,比如 500MB:
sudo journalctl --vacuum-size=500M
4. 清理 APT 缓存
如果你的系统安装过大量软件,APT 缓存可能占用较多空间。你可以运行以下命令清理:
sudo apt autoremove -y # 移除不再需要的软件包
sudo apt autoclean # 清理旧的安装包
sudo apt clean # 清理所有缓存的安装包
我的效果如下:
5. 清理 Snap 旧版本
你的系统有很多 Snap 包(/snap/
目录),它会保留多个旧版本,占用大量空间。你可以运行:
snap list --all # 查看所有 Snap 包
我的效果如下:
自动清理旧版本:
sudo snap set system refresh.retain=2 # 只保留 2 个版本
然后运行:
sudo snap refresh
6. 释放缓存
释放系统缓存,这不会删除数据,只是释放内存中的缓存
sudo sync && sudo sysctl -w vm.drop_caches=3
或者:
sudo echo 3 > /proc/sys/vm/drop_caches
最终效果
从92%到65%,挺不错的