FAQ

Q: 程序卡住没有输出什么原因?

A:首先使用topnvidia-smi命令分别查看CPUGPU的使用率。
如果CPU一直为100%GPU无占用,那么大概率卡在了GPU调用上,那么请看上一个问题的答案。
如果不是上述原因,那么需要进行代码Debug,推荐在关键代码行上print日志,然后执行程序定位程序卡在了哪一行代码语句上,根据定位的代码谷歌确认原因,这类情况也与代码本身有关,需具体原因具体分析,切忌不看代码只猜。

Q: 爆显存(CUDA OOM)什么原因?

A:如果执行程序报错OOM显存不足,那么最简单的调试办法是设置batch size=1然后逐步增大,观察跑到多大bsOOM,以此为依据再决定升配成多卡还是换一个更大显存的卡。
另外一种情况,第一次跑没有OOM,但是再次运行就OOM了,这类情况先使用nvidia-smi命令确认在未跑时显存占用,如果有占用那么说明有之前跑的残留进程需要清理掉,
清理方式: ps -ef 找到进程PID,然后kill -9 PID,如果没有显存占用,那么说明程序的特性就这样,比如动态深度学习框架的显存是会发生变化的,正好在计算过程中对显存的需求超出上限。

Q: 主机的空闲GPU不足了怎么办?

A: 第一种方式:可以使用无卡模式开机,将实例中重要的数据下载等。第二种方式迁移实例。同时也可以等待该主机上GPU释放出来以后使用。

Q: 实例更换镜像后VSCodeSSH等无法链接?

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数量线性分配,或换一台内存更大的主机。