Python中Jupyter Notebook频繁出现“Kernel Restarting”错误如何解决?
用 sklearn 做的一个分类模型,数据量大约 30W 左右,在服务器上跑的,服务器 64G 内存。

Python中Jupyter Notebook频繁出现“Kernel Restarting”错误如何解决?
9 回复
卧槽,如何在服务器上跑?求教
Kernel频繁重启通常是内存不足或代码有严重错误导致的。先看几个常见原因和解决办法:
- 内存问题:大数据处理时最常见。用这个检查内存使用:
import psutil
import os
process = psutil.Process(os.getpid())
print(f"内存使用: {process.memory_info().rss / 1024 ** 2:.2f} MB")
-
无限循环/递归:检查代码中是否有死循环或过深递归。
-
C扩展崩溃:某些C扩展(如某些科学计算库)可能导致内核崩溃。尝试:
import numpy as np
np.seterr(all='raise') # 将numpy错误转为异常
- 内核清理:重启时先彻底清理:
jupyter kernelspec list # 查看内核
jupyter kernelspec remove kernelname # 删除问题内核
- 快速诊断:新建notebook运行这个测试代码:
import sys
print(f"Python版本: {sys.version}")
try:
import numpy as np
print("numpy导入正常")
except Exception as e:
print(f"numpy导入失败: {e}")
如果还不行,尝试降低notebook的自动保存频率,在命令行启动时加参数:
jupyter notebook --NotebookApp.iopub_data_rate_limit=1e10
总结:先查内存,再查代码,最后清内核。
为啥不能,做 DL 还在 AWS 的 GPU 实例上跑过。
jupyter notebook --ip 0.0.0.0
oom 导致 kernel 挂了?起服务的 console 里一般能找到日志的,看看
这个是我同事配置的,他是按照这个来做的,应该不太复杂 http://www.linuxdiyf.com/linux/26051.html
对,我朋友也是要我去调用日志看得,但今天应该是看不了了。我咋感觉在 jupyter 上跑代码不太靠谱呢,是不是脚本跑的时候内存会自动优化?另外 oom 是啥,求解?
原来可以这样玩…
可能是后台运算量太大死了,[*]表明 notebook 正在后台运行,我以前也经常遇到这个问题,后来不记得怎么解决了…
我还是觉得可以直接写成 py 运行。
看一下这个,直接 Google 错误信息更靠谱。
https://github.com/ipython/ipython/issues/9973
oom 是内存溢出,出现这个情况进程会被杀掉

