1. 虚拟机黑屏的典型现象与初步判断
最近在调试一个机器学习项目时,我的Ubuntu虚拟机突然黑屏了。屏幕定格在启动日志的某一行,光标停止闪烁,键盘输入完全无响应。这种情况在开发过程中并不少见,特别是当我们在虚拟机里跑大型数据集或训练模型时。根据我的经验,这种突然"暴毙"的情况,十有八九是硬盘空间不足导致的。
典型的症状包括:
- 虚拟机启动过程中突然停止响应
- 系统日志显示I/O错误或存储相关警告(比如我遇到的
sda Assuming drive cache提示) - 使用快照回滚后能暂时恢复,但不久后问题重现
- 尝试创建新文件或保存文档时提示"磁盘空间不足"
遇到这种情况先别慌,我们可以通过几个简单命令快速确认问题。在能进入系统的情况下,打开终端输入:
bash复制df -h
这个命令会显示各分区的使用情况。如果看到某个分区的使用率达到100%,那基本可以确定是空间问题了。如果已经黑屏无法操作,可以尝试进入恢复模式(在VMware启动时按住Shift键),选择"recovery mode"后同样能执行这个检查。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 硬盘空间不足的深层原因分析
很多人以为删除文件就能解决问题,但实际情况要复杂得多。根据我处理过上百个虚拟机问题的经验,空间不足通常有以下几个隐藏原因:
2.1 日志文件膨胀
特别是运行AI训练任务时,/var/log目录下的日志文件可能快速增长。有次我的一个TensorFlow训练任务就产生了8GB的日志文件,直接撑爆了分区。
2.2 临时文件堆积
/tmp目录经常被忽视。某些程序崩溃后留下的临时文件可能占据大量空间。我曾经发现一个失败的Docker构建留下了15GB的中间文件。
2.3 软件包缓存
Ubuntu的apt会在/var/cache/apt/archives积累安装包。执行以下命令可以查看缓存大小:
bash复制du -sh /var/cache/apt/archives
2.4 虚拟机快照占用
VMware的快照功能虽然方便,但每个快照都会占用额外空间。有用户反映20GB的虚拟机创建几个快照后,实际占用可能翻倍。
2.5 交换分区异常
当物理内存不足时,系统会使用交换分区。如果配置不当,交换文件可能异常增长。用这个命令检查:
