1. 检查并临时释放空间
1.1 查看磁盘情况
# 查看整体磁盘占用
df -h
# 查看当前目录下各文件夹占用(逐级定位大文件)
du -sh * | sort -hr
关键指标:/dev/sda1(或类似)的 Use% 接近 / 达到 100% 就是根分区满了。
结果显示
df -h
# 查看当前目录下各文件夹占用(逐级定位大文件)
du -sh * | sort -hr
文件系统 大小 已用 可用 已用% 挂载点
tmpfs 387M 2.1M 385M 1% /run
/dev/sda3 20G 14G 4.7G 75% /
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
/dev/sda2 512M 6.1M 506M 2% /boot/efi
tmpfs 387M 104K 387M 1% /run/user/1000
/dev/sr0 157M 157M 0 100% /media/。。。/CDROM
/dev/sr1 4.5G 4.5G 0 100% /media/。。。/Ubuntu 22.04.5 LTS amd64
206M snap
1.4M kconfiglib-14.1.0
880K pyelftools_temp
188K pyelftools.whl
160K kconfiglib.tar.gz
104K cxxfilt-0.3.0
8.0K cxxfilt.tar.gz
4.0K vela-opensource
4.0K openvela
4.0K manual_packages.txt
4.0K bin
4.0K 桌面
4.0K 音乐
4.0K 下载
4.0K 文档
4.0K 图片
4.0K 视频
4.0K 模板
4.0K 公共的
0 pyelftools.tar.gz
1.2 清理系统垃圾
# 清理apt缓存(最大的临时垃圾来源)
sudo apt autoremove -y
sudo apt clean -y
sudo apt autoclean -y
# 清理日志文件(/var/log 常占大量空间)
sudo journalctl --vacuum-time=3d # 只保留3天日志
sudo rm -rf /var/log/*.gz /var/log/*.old
# 清理用户缓存
rm -rf ~/.cache/*
rm -rf ~/.local/share/Trash/*
1.3 删除大文件
# 查找系统中大于100MB的文件
sudo find / -type f -size +100M 2>/dev/null | xargs du -h | sort -hr
注: 不要删除 /bin /lib /usr/bin 等系统目录下的文件
2 虚拟机磁盘扩展
虚拟机已关机,且未使用快照(快照会锁定磁盘,需先删除)
2.1 使用分区工具实现(推荐)
编辑虚拟机设置 → 硬盘 → 扩展 → 输入新的磁盘大小 → 确定
启动 Ubuntu,终端中输入以下命令(复制粘贴执行)
# 安装gparted(图形化分区工具,更稳妥)
sudo apt install -y gparted
# 启动gparted(需sudo权限)
sudo gparted
显示结果

直接双击选择进行拉动增大空间。
验证扩展
df -h # 确认根分区容量已增大
3 优化
分离数据与系统分区 :新虚拟机建议单独分 /home 分区,后续仅扩展 /home
限制日志大小 :配置 journalctl 最大占用
sudo mkdir -p /etc/systemd/journald.conf.d/
echo -e "[Journal]\nSystemMaxUse=1G" | sudo tee /etc/systemd/journald.conf.d/limit.conf
sudo systemctl restart systemd-journald
定期清理:添加定时任务,每周清理一次 apt 缓存和日
# 编辑crontab
sudo crontab -e
# 添加以下内容(每周日凌晨2点执行)
0 2 * * 0 apt autoremove -y && apt clean -y && journalctl --vacuum-time=3d >/dev/null 2>&1