Ubuntu虚拟机磁盘空间不足解决方案

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
相关推荐
wdfk_prog8 小时前
[Linux]学习笔记系列 -- [drivers][input]input
linux·笔记·学习
盟接之桥8 小时前
盟接之桥说制造:引流品 × 利润品,全球电商平台高效产品组合策略(供讨论)
大数据·linux·服务器·网络·人工智能·制造
忆~遂愿9 小时前
ops-cv 算子库深度解析:面向视觉任务的硬件优化与数据布局(NCHW/NHWC)策略
java·大数据·linux·人工智能
湘-枫叶情缘9 小时前
1990:种下那棵不落叶的树-第6集 圆明园的对话
linux·系统架构
Fcy6489 小时前
Linux下 进程(一)(冯诺依曼体系、操作系统、进程基本概念与基本操作)
linux·运维·服务器·进程
袁袁袁袁满9 小时前
Linux怎么查看最新下载的文件
linux·运维·服务器
代码游侠10 小时前
学习笔记——设备树基础
linux·运维·开发语言·单片机·算法
Gary Studio10 小时前
rk芯片驱动编写
linux·学习
mango_mangojuice10 小时前
Linux学习笔记(make/Makefile)1.23
java·linux·前端·笔记·学习
Harvey90310 小时前
通过 Helm 部署 Nginx 应用的完整标准化步骤
linux·运维·nginx·k8s