ubuntu系统中 jupyter Kernel 频繁崩溃原因

每次用jupyter运行代码就总是出现下列情况:

一.原因:

你的程序(如 PyTorch/TensorFlow 训练、大数据加载等)申请的内存超过了系统可用内存上限,触发 OOM Killer,导致进程被无声杀死(无 Python 异常,直接退出),表现为 Jupyter Kernel 崩溃。

运行命令如下,可以看到输出:Out of memory: Kill process ...,说明被 OOM Killer **(内存溢出)**终止。

复制代码
$ sudo dmesg -T | grep -i "killed process"

[一 11月  3 22:21:00 2025] Out of memory: Killed process 260152 (python) total-vm:47711672kB, anon-rss:29875948kB, file-rss:68992kB, shmem-rss:2560kB, UID:1000 pgtables:75348kB oom_score_adj:0

如果你也遇到该问题也可以尝试运行该命令查看是否为该原因。

二.解决

1. 减少内存使用

a. 降低 batch size
b. 定期清理不用的变量内存

在 notebook 中反复运行单元格会累积变量,因此可以定期(如每个fold运行完毕后)显式删除不用的变量并触发垃圾回收:

复制代码
import gc
gc.collect()
c. 关闭不必要的 Jupyter 标签页/内核

每个打开的 notebook 都可能占用内存,把其他不用的都关了。

2. 启用或扩大 Swap 空间()

Swap 是硬盘上的一块虚拟内存,速度比 RAM 慢,但可防止 OOM。但是该方法只能作为临时缓解,因为SSD 上频繁 swap 会损耗寿命。

检查当前 swap:

复制代码
free -h
swapon --show

临时添加 4GB swap(重启后失效):

复制代码
sudo fallocate -l 4G /tmp/swapfile
sudo chmod 600 /tmp/swapfile
sudo mkswap /tmp/swapfile
sudo swapon /tmp/swapfile
相关推荐
章老师说9 分钟前
BFE v1.8.6 正式发布:AI 网关计费精细化、Claude 协议与会话亲和性升级
运维·人工智能·ai·负载均衡·ai-native
Brilliantwxx24 分钟前
【Linux】 进程(10) 进程控制深度解析:创建、终止与等待
linux·运维·服务器·c语言·开发语言·网络
ai小陈30 分钟前
FramePack图生视频云端部署实战:从单图输入到视频输出的完整流程
服务器·人工智能·安全·ai·音视频·gpu算力
欧米欧1 小时前
Linux基础指令上
linux·运维·服务器
爱喝水的鱼丶2 小时前
SAP-ABAP:BAdI 上下文数据获取与交互:标准数据读取与修改逻辑实现
运维·性能优化·sap·abap·增强·经验交流·badi
ARM|X86+FPGA工业主板厂家2 小时前
基于嵌入式 GPU 的智能服务机器人
linux·运维·arm开发·fpga开发·机器人
sulikey2 小时前
Linux 粘滞位(Sticky Bit)完全指南:为什么共享目录需要“防删除“?
linux·服务器
mengge.cloud2 小时前
网络技术基础小白教程
linux·服务器·网络·云计算
pt10432 小时前
网络自动化Python课程:Python与Linux密钥和敏感信息管理介绍
运维·自动化
严谨的麻辣烫3 小时前
2026 年静态 IP 为什么重新受到关注?从住宅代理安全问题看固定网络出口
运维·服务器·tcp/ip·网络安全