FAQ
Q: 程序卡住没有输出什么原因?
A:首先使用
top
和nvidia-smi
命令分别查看CPU
和GPU
的使用率。
如果CPU
一直为100%
且GPU
无占用,那么大概率卡在了GPU
调用上,那么请看上一个问题的答案。
如果不是上述原因,那么需要进行代码Debug
,推荐在关键代码行上
Q: 爆显存(CUDA OOM
)什么原因?
A:如果执行程序报错
OOM
显存不足,那么最简单的调试办法是设置batch size=1
然后逐步增大,观察跑到多大bs
时OOM
,以此为依据再决定升配成多卡还是换一个更大显存的卡。
另外一种情况,第一次跑没有OOM
,但是再次运行就OOM
了,这类情况先使用nvidia-smi
命令确认在未跑时显存占用,如果有占用那么说明有之前跑的残留进程需要清理掉,
清理方式:ps -ef
找到进程PID
,然后kill -9 PID
,如果没有显存占用,那么说明程序的特性就这样,比如动态深度学习框架的显存是会发生变化的,正好在计算过程中对显存的需求超出上限。
Q: 主机的空闲GPU
不足了怎么办?
A: 第一种方式:可以使用无卡模式开机,将实例中重要的数据下载等。第二种方式迁移实例。同时也可以等待该主机上
GPU
释放出来以后使用。
Q: 实例更换镜像后VSCode
、SSH
等无法链接?
A:
Linux/Mac
用户,删除本地known_hosts
文件,执行命令:rm ~/.ssh/known_hosts
文件,Windows
用户删除C:/Users/
当前user
名字/.ssh/konwn_hosts
文件。删除后重试即可。
Q: 包年包月的实例关机后,GPU
会预留吗?
A: 只要在包年包月期间都会预留,随时都可以重启,不必担心
GPU
被其他用户占用。
Q: 按量计费的实例,如果主机GPU
中途价格调整,如何计费?
A: 按量计费的实例计费价格以开机时的价格为准,中途价格变化不受影响。如果重启实例,那么价格将使用最新价进行计费。
Q: 已经释放的实例还能找回数据吗?
A: 不能找回。
Q: 如果实例所在的主机出现硬盘、GPU
等故障,怎么办?
A: 有两个选择:迁移实例到其他主机或等待机器维修重新上线。针对这种情况平台会做出相应的赔偿。
Q: 实例上的数据会意外损坏或丢失吗?
A: 对于实例中的本地数据盘使用的大部分为物理磁盘,无冗余备份,因此存储于本地磁盘的数据存在丢失可能性,请及时把重要的数据进行备份。对于存储于共享云盘的数据使用了多副本冗余,数据可靠性非常高。
Q: 关闭浏览器或退出登录,对于JupyterLab
(Notebook
)上运行的程序会受到影响吗?
A: 不会受影响,但是日志需做好保存处理,比如重定向到日志文件。详细参考文档
Q: 通过SSH
登录执行的命令,如何确保程序不会因为连接断开而终止?
A: 推荐使用
Jupyterlab
的终端执行命令,或者配合screen/tmux
工具进行使用。请参考守护进程小节
Q: 程序显示Killed
停止是什么原因?
A: 程序占用的内存容量超了被系统终止,可以从实例的实例监控入口查看实例的内存使用变化进行确认,解决方法可以升配,实例的内存大小随
GPU
数量线性分配,或换一台内存更大的主机。