【亲测有效】AutoDL 磁盘空间不足?清理回收站释放实例磁盘空间的方法
【亲测有效】AutoDL 磁盘空间不足?清理回收站释放实例磁盘空间的方法
在使用 AutoDL 跑深度学习项目时,经常会遇到一个很奇怪的问题:明明已经在 JupyterLab 中删除了数据集、模型权重或者训练结果,为什么磁盘空间还是没有释放?尤其是数据集动辄几十GB,一个文件夹删除之后,AutoDL 控制台显示的磁盘占用却几乎没有变化。
这种情况一般不是文件没有删除,而是类似于你的Windows系统的回收站,你删除的文件被放进了 AutoDL 的回收站(Trash)。事实上,你在删除 AutoDL 文件的时候,其也会提示“移至回收站”。
本文将介绍 AutoDL 实例中清理回收站、释放系统盘和数据盘空间的方法。
文章目录
- 【亲测有效】AutoDL 磁盘空间不足?清理回收站释放实例磁盘空间的方法
- 1 AutoDL 中为什么删除文件后空间没有释放?
- 2 查看当前磁盘使用情况
- 3 清理 AutoDL 系统盘回收站
- 3.1 查看回收站大小
- 3.2 查看回收站中的文件
- 3.3 清空系统盘回收站
- 4 清理 AutoDL 数据盘回收站
- 4.1 查看数据盘回收站大小
- 4.2 查看其中的文件
- 4.3 删除数据盘回收站
- 5 关于 AutoDL 磁盘空间不足的更多提示
- 5.1 一条命令检查到底是谁占用了磁盘
- 5.1.1 检查 `/root` 下的大文件夹
- 5.1.2 检查数据盘
- 5.2 如果你要顺便清理 Conda 缓存
- 5.3 `.cache` 也可能占用大量空间
- 5.4 其他常用的 AutoDL 清理命令总结
- 查看磁盘情况
- 查看系统盘回收站
- 清理系统盘 JupyterLab 回收站
- 查看数据盘回收站
- 清理数据盘回收站
- 查看系统盘最大的目录
- 查看数据盘最大的目录
- 6 总结
- 参考资料
1 AutoDL 中为什么删除文件后空间没有释放?
AutoDL 实例中一般有系统盘和数据盘。其中,系统盘位于/,数据盘挂载在/root/autodl-tmp。JupyterLab 默认工作目录为/root。AutoDL 官方文档说明,/root/autodl-tmp是单独的数据盘挂载目录,因此这里的数据不会占用系统盘空间。
如果通过 JupyterLab 文件管理器删除文件,一些文件并不会立即物理删除,而是进入回收站。因此会出现这种现象:假如你删除了一个 30GB 的数据集,在 JupyterLab 中已经看不到文件,但是磁盘还是占用了 30GB。这是因为.Trash 回收站实际上还保存着文件。
所以当 AutoDL 磁盘爆满时,第一件事就是检查回收站,并清空回收站释放实例磁盘空间。
2 查看当前磁盘使用情况
打开 AutoDL 的终端。先执行:
source~/.bashrcAutoDL 官方文档推荐通过该命令查看当前系统盘、数据盘等空间使用情况。
也可以使用 Linux 常见命令:
df-h查看各个磁盘的使用情况。
例如可能看到:
Filesystem Size Used Avail Use% overlay 30G 28G 2G 94% ...如果系统盘已经达到 90% 甚至 100%,就需要尽快清理。
3 清理 AutoDL 系统盘回收站
如果你是在 JupyterLab 中删除/root下面的文件,首先检查/root/.local/share/Trash这个目录。AutoDL 官方文档明确将其标注为JupyterLab 的回收站。
3.1 查看回收站大小
执行:
du-sh/root/.local/share/Trash例如:
26G /root/.local/share/Trash如果这里占用了几十 GB,那么基本就找到磁盘空间被占用的原因了。
3.2 查看回收站中的文件
如果担心误删,可以先查看:
ls-alh/root/.local/share/Trash通常里面可能包含“files”、“info”等等目录,其中真正被删除的文件通常位于/root/.local/share/Trash/files。可以继续查看:
du-sh/root/.local/share/Trash/files或者:
ls-alh/root/.local/share/Trash/files确认这些文件确实不再需要。
3.3 清空系统盘回收站
确认文件不需要以后执行:
rm-rf/root/.local/share/TrashAutoDL 官方提供的系统盘清理命令也是直接删除该目录。
完成以后重新查看磁盘空间:
df-h或者:
source~/.bashrc通常就可以看到系统盘空间已经释放。
4 清理 AutoDL 数据盘回收站
如果磁盘爆满的不是系统盘,而是/root/autodl-tmp,那么要重点检查另一个隐藏目录:
/root/autodl-tmp/.Trash-0AutoDL 官方文档特别指出:数据盘空间被大量占用时,经常是垃圾桶没有清理,可以检查/root/autodl-tmp/.Trash-0。
4.1 查看数据盘回收站大小
执行:
du-sh/root/autodl-tmp/.Trash-0如果输出类似:
45G /root/autodl-tmp/.Trash-0那就基本找到问题了。
4.2 查看其中的文件
先不要急着rm -rf。执行:
ls-alh/root/autodl-tmp/.Trash-0或者查看各个文件/目录占用:
du-sh/root/autodl-tmp/.Trash-0/*2>/dev/null确定都是不再需要的数据后再删除。
4.3 删除数据盘回收站
执行:
rm-rf/root/autodl-tmp/.Trash-0然后查看数据盘空间:
df-h或者:
source~/.bashrc此时之前被回收站占用的空间应该已经真正释放。
5 关于 AutoDL 磁盘空间不足的更多提示
5.1 一条命令检查到底是谁占用了磁盘
如果检查了回收站以后发现它并不大,那么可以继续寻找其他大目录。
5.1.1 检查/root下的大文件夹
执行:
du-sh/root/* /root/.[!.]*2>/dev/null|sort-hr|head-20它会按照文件夹大小从大到小排列,例如:
18G /root/miniconda3 12G /root/.cache 8.5G /root/project 4.2G /root/.local这样就能快速定位到底是谁占用了系统盘。
5.1.2 检查数据盘
执行:
du-sh/root/autodl-tmp/* /root/autodl-tmp/.[!.]*2>/dev/null|sort-hr|head-20需要注意,ls默认不会显示以.开头的隐藏文件,所以可能执行
ls/root/autodl-tmp之后看起来数据盘里面没什么东西,但实际上.Trash-0可能正在默默占用几十 GB。
可以使用:
ls-alh/root/autodl-tmp查看隐藏文件。
5.2 如果你要顺便清理 Conda 缓存
如果是系统盘空间不足,除了回收站之外,AutoDL 官方还建议检查:
/root/miniconda3/pkgs/这个目录主要保存 Conda 下载和安装过程中产生的历史包,时间长了可能占用不少空间。AutoDL 官方将其列为可以优先清理的目录之一。
先查看大小:
du-sh/root/miniconda3/pkgs/例如:
9.6G /root/miniconda3/pkgs/确认后进行清理:
rm-rf/root/miniconda3/pkgs/*对于经常创建 Conda 环境的用户来说,这里有时候也能释放好几个 GB。
5.3.cache也可能占用大量空间
AutoDL 官方也建议在系统盘空间不足时检查/root/.cache和/tmp等目录。例如 Hugging Face、PyTorch、pip 等工具都可能在缓存目录中积累大量文件。但不建议什么都不看直接删除。
可以用这个命令查看:
du-sh/root/.cache最好继续找最大的子目录:
du-sh/root/.cache/*2>/dev/null|sort-hr|head-20再根据实际情况决定哪些缓存可以清理。
5.4 其他常用的 AutoDL 清理命令总结
查看磁盘情况
source~/.bashrc或者:
df-h查看系统盘回收站
du-sh/root/.local/share/Trash清理系统盘 JupyterLab 回收站
rm-rf/root/.local/share/Trash查看数据盘回收站
du-sh/root/autodl-tmp/.Trash-0清理数据盘回收站
rm-rf/root/autodl-tmp/.Trash-0查看系统盘最大的目录
du-sh/root/* /root/.[!.]*2>/dev/null|sort-hr|head-20查看数据盘最大的目录
du-sh/root/autodl-tmp/* /root/autodl-tmp/.[!.]*2>/dev/null|sort-hr|head-20清注意:rm -rf属于 Linux 中非常危险的命令。AutoDL 官方文档特别提醒,使用rm删除后的文件无法恢复。也注意避免删除自己不清楚用途的系统目录。
6 总结
AutoDL 使用过程中,如果出现:
- 明明删除了文件,磁盘空间却没有下降
- JupyterLab 里看不到大文件,但磁盘依然爆满
- 数据盘莫名其妙占用了几十 GB
- 提示 No space left on device
可以优先检查两个目录:
- 系统盘 / JupyterLab 回收站:
/root/.local/share/Trash- AutoDL 数据盘回收站:
/root/autodl-tmp/.Trash-0确认里面的文件已经没有用了以后,再分别通过:
rm-rf/root/.local/share/Trash以及:
rm-rf/root/autodl-tmp/.Trash-0进行彻底清理。很多时候一条命令就能找回来几十 GB 的空间。
如果回收站并没有占用多少空间,则继续检查:
/root/miniconda3/pkgs /root/.cache /tmp以及自己创建的数据集、模型权重、checkpoint 和日志目录。
总之,AutoDL 磁盘空间不足时,不要第一时间重置实例,先用du找到真正占空间的目录,再有针对性地删除,通常几分钟就能解决问题。
参考资料
- AutoDL清理回收站
