You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux下Jupyter报MemoryError但Python脚本正常的问题排查

Linux下Jupyter Notebook内存分配受限排查问题

系统环境

NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"

内存状态(充足)

total        used        free      shared  buff/cache   available
Mem:           125G        3.3G        104G        879M         17G        120G

使用的Anaconda版本

64位Anaconda3-2022.10-Linux-x86_64

已配置项

  • 在jupyter_notebook_config.json和jupyter_notebook_config.py中设置max_buffer_size为64GB
  • Notebook启动命令指定参数:
jupyter notebook --certfile=ssl/mycert.perm --keyfile ssl/mykey.key --no-browser --NotebookApp.max_buffer_size=64000000000
  • 系统内存过度提交配置:
cat /proc/sys/vm/overcommit_memory
1

测试情况

1. 独立Python脚本运行

执行代码:

size = int(6e9)
chunk = size * ['r']
print(chunk.__sizeof__()/1e9)

运行结果:

python ../readgzip.py
48.00000004

成功为列表分配48GB内存,无异常。

2. Jupyter Notebook中运行

执行代码:

size = int(9.7e8)
chunk = size * ['r']
print(chunk.__sizeof__()/1e9)

输出:

7.76000004

当将size调整为int(9.75e8)时,触发内存错误:

---------------------------------------------------------------------------
MemoryError                               Traceback (most recent call last)
/tmp/ipykernel_12328/3436837519.py in <module>
      1 size = int(9.75e8)
----> 2 chunk = size * ['r']
      3 print(chunk.__sizeof__()/1e9)

MemoryError: 

对比情况

家中Windows11机器(64GB内存)可轻松运行上述代码,成功分配32GB内存。

疑问

已做上述配置,但Linux下Jupyter Notebook仍无法分配足够内存,请问遗漏了哪些配置项?

内容的提问来源于stack exchange,提问作者David Makovoz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 17:06:49