问题描述
今天早上来到实验室,发现vscode无法连接远程Linux服务器上自己的docker,昨天起的几个实验进程也都停止了。一查发现是docker内存被占满,导致无法腾出硬盘空间给远程连接。远程服务器一直显示:Permission denied, please try again.
我因为没有空间连接自己的docker,没法删除自己的文件,所以没法腾出空间,陷入死循环。
解决方法及思路
解决办法:删除一些硬盘空间上的不重要文件,为硬盘腾出空间。
最方便的解决思路:让隔壁师兄(共用一台服务器)把他docker里的没用文件删除一下。实际上100+G的硬盘被占满,他删掉了约100M,我就可以重新连接到自己的docker了。然后把自己docker里没用的文件删除掉即可。
其他参考
参考了很多博客,但他们解决方法,我试了都不太适合。附上参考链接吧,省去其他人和我一样找半天。
- 如何定位是什么原因、哪个磁盘爆满:https://blog.csdn.net/MacwinWin/article/details/114843387
- 手动扩容:https://blog.csdn.net/tys87198312/article/details/103462180
- 卸载重装/停止docker服务:https://blog.csdn.net/qq_39399966/article/details/105812834
- 清空镜像脚本:https://blog.csdn.net/jinba225/article/details/117714937
- 清理docker占用的磁盘:https://blog.csdn.net/dengbixuan/article/details/105850984
总结与教训
这次docker爆满,是因为我无节制地保存我自己的训练模型导致的。因为偶尔会出现docker崩溃的情况,所以我每次得到我自己的历史最优模型时就会保存一个备份,在一晚上实验的训练过程中,不停产生的历史最优模型越来越多,就把docker的硬盘空间塞满了,导致连远程连接也无法做到。
以后在保存最优模型时,可以使用“覆盖”的保存方式,或者在定期删除很久以前保存的最优模型,只用一个latest_model 来保存当前模型,除此以外,只用保存5个历史最优模型即可。