如何解决Azure ML计算实例磁盘已满错误?
Azure ML计算实例磁盘满修复方案
一、先恢复实例终端访问权限
如果实例处于“不可用”状态,先尝试在Azure ML Studio中触发重启实例操作——部分场景下系统会自动清理临时文件,恢复终端可访问状态。若重启后仍无法进入终端,尝试通过SSH登录实例(需提前配置SSH密钥)。
二、定位并清理大文件
登录终端后,用以下命令快速定位占用空间的文件/目录:
- 查看磁盘分区占用:
df -h,确认满额的分区路径 - 扫描根目录下各文件夹大小:
du -h --max-depth=1 /,定位大体积目录 - 查找10G以上的单个文件:
find / -type f -size +10G 2>/dev/null,屏蔽权限报错信息
优先清理的文件类型:
- 临时文件:直接清空临时目录:
sudo rm -rf /tmp/* - 训练缓存/中间输出:进入个人工作目录(如
/home/azureuser/cloudfiles/code/Users/下的项目文件夹),删除无用的checkpoint、模型中间权重、数据集副本 - Docker资源:执行
docker system prune -a,清理无用镜像、容器、卷,可释放大量空间 - 旧日志:删除压缩日志文件:
sudo rm -rf /var/log/*.gz,或用journalctl --vacuum-size=1G限制系统日志占用
三、处理/mnt目录下的大swapfile
swapfile需用root权限操作,直接删除可能导致系统崩溃,建议缩小其体积:
- 关闭swap:
sudo swapoff /mnt/swapfile - 重建swapfile为合适大小(示例为4G):
sudo dd if=/dev/zero of=/mnt/swapfile bs=1G count=4 - 设置权限:
sudo chmod 600 /mnt/swapfile - 重新启用swap:
sudo swapon /mnt/swapfile - 验证状态:
swapon --show
四、长期预防方案
- 训练代码中加入自动清理逻辑,删除无用的中间文件、checkpoint
- 创建计算实例时选择匹配任务需求的磁盘大小,或挂载额外存储卷
- 定期执行Docker资源清理和日志压缩操作
内容的提问来源于stack exchange,提问作者heradsinn
相关产品推荐
相关产品推荐

