Ubuntu挂载磁盘空间不足解决
导读:Ubuntu 挂载点空间不足的排查与解决 一、快速定位问题 查看各挂载点使用情况:df -h,确认是哪个挂载点(如 /、/home)接近或达到 100%。 定位大目录与大文件: 进入占用高的挂载点,逐级查看:sudo du -h --m...
Ubuntu 挂载点空间不足的排查与解决
一、快速定位问题
- 查看各挂载点使用情况:
df -h,确认是哪个挂载点(如 /、/home)接近或达到 100%。 - 定位大目录与大文件:
- 进入占用高的挂载点,逐级查看:
sudo du -h --max-depth=1 | sort -rh | head -20 - 全系统快速扫描:
sudo du -sh /* 2> /dev/null | sort -rh | head -10
- 进入占用高的挂载点,逐级查看:
- 检查被删除但仍被进程占用的“幽灵文件”:
sudo lsof +L1,若占用大文件,重启对应进程释放空间。 - 检查日志占用:
sudo journalctl --disk-usage,确认 journal 是否异常膨胀。
二、安全清理释放空间
- 包管理器缓存:
- 清理全部缓存:
sudo apt clean - 仅清理过期包:
sudo apt autoclean - 移除无用依赖:
sudo apt autoremove --purge
- 清理全部缓存:
- 系统日志:
- 按时间保留:
sudo journalctl --vacuum-time=7d - 按大小限制:
sudo journalctl --vacuum-size=100M - 谨慎清空正在写入的日志文件(保留文件句柄):
sudo truncate -s 0 /var/log/syslog
- 按时间保留:
- 旧内核(务必保留当前在用内核):
- 查看当前内核:
uname -r - 列出已安装内核:
dpkg -l | grep linux-image - 删除旧版本(示例):
sudo apt purge linux-image-< 旧版本号>
- 查看当前内核:
- Snap 与用户缓存:
- 清理旧版 Snap 包:
sudo snap list --all后sudo snap remove < 包名> --revision < 版本号> - 清理缩略图:
rm -rf ~/.cache/thumbnails/*
- 清理旧版 Snap 包:
- 临时文件:
sudo rm -rf /tmp/* - 可视化和定位工具:
ncdu(逐目录分析)、du -sh、GNOME 的 Disk Usage Analyzer。
三、扩容与迁移方案
- 添加新磁盘并挂载到目录(适合数据盘或迁移大目录):
- 分区与格式化:
sudo fdisk /dev/sdb→sudo mkfs.ext4 /dev/sdb1 - 临时挂载:
sudo mkdir -p /mnt/data & & sudo mount /dev/sdb1 /mnt/data - 迁移数据:
sudo rsync -aAX --info=progress2 /home/ /mnt/data/ - 备份并替换原目录:
sudo mv /home /home_old & & sudo mkdir /home & & sudo mount /dev/sdb1 /home - 开机自动挂载:获取 UUID →
sudo blkid,在 /etc/fstab 追加:
UUID=< 你的UUID> /home ext4 defaults 0 2 - 校验并清理:
sudo mount -o remount /home,确认无误后sudo rm -rf /home_old
- 分区与格式化:
- 虚拟机磁盘扩容:
- 宿主机扩展虚拟磁盘容量后启动客户机
- 扩展分区:
sudo parted /dev/sda→resizepart < 分区号> 100% - 扩展文件系统:
- ext4:
sudo resize2fs /dev/sda< 分区号> - XFS:
sudo xfs_growfs /mount/point
- ext4:
- LVM 在线扩容(如已使用 LVM):
- 扩展逻辑卷:
sudo lvextend -L +< 大小> G /dev/mapper/< vg> -< lv> - 扩展文件系统:
sudo resize2fs /dev/mapper/< vg> -< lv>(ext4)
- 扩展逻辑卷:
- 将大目录迁移到新盘后,按需调整应用数据目录(如 Docker 可将
"data-root": "/mnt/data")。
四、常见陷阱与验证
- 删除后仍显示满:多由“被进程占用但已删除”的文件导致,使用
sudo lsof +L1定位并重启相关服务。 - 误删正在写入的日志:优先用
truncate -s 0 < 日志文件>清空内容,避免删除文件句柄导致进程异常。 - 清理内核风险:务必保留至少 1–2 个可用内核,删除前核对
uname -r输出。 - 修改 /etc/fstab 前先测试:
sudo mount -o remount < 挂载点>,确认无语法错误再重启。 - 操作完成后用
df -h与sudo du -sh < 关键目录>复核空间是否释放、挂载是否正确。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu挂载磁盘空间不足解决
本文地址: https://pptw.com/jishu/780585.html
