内容纲要
概要描述
Sophon notebook在打开或运行代码时会出现No kernel的错误,产生这种情况的原因比较多,本文仅对其中最常见的原因,CPU或内存资源占满进行举例说明。
详细说明
notebook右上角出现"No kernel"的截图如下所示:
遇到这种问题,可以在代码运行时,使用docker stats命令检查notebook的资源占用情况。
具体步骤如下:
(1)kubectl get po |grep note找到所使用的notebook pod,注意是notebook开头的pod,这些是notebook实例(而sophon-notebook是sophon2.4及以后版本中sophon服务的notebook角色的pod)。如果有多个notebook实例,不确定当前notebook页面对应是哪一个pod时,可以根据notebook页面的url判断,详见KB:判断Sophon notebook页面对应后台notebook pod的方式。
(2)在pod所在节点(上图中的ip地址)上找到docker容器id号(如果有多个docker container,且无法通过镜像名称和启动时间判断,可使用kubectl describe po查看Container ID)
(3)使用docker stats观察资源占用。
(4) 发现内存已经用满了,导致kernel被停。
解决方案
出现这类情况的解决办法是增加notebook的内存或CPU资源,避免在同一个notebook同时跑多个python代码文件,或者进行代码调优。