如何测算本地运行Jupyter Notebook的两类内存需求?
Jupyter Notebook大数组内存需求测算问题
我准备运行一个涉及1-40GB大数组的Jupyter Notebook,需要明确两类核心内存需求:
- 本地先启动Jupyter服务器,再运行该笔记本所需的空闲内存(记为M)
- Jupyter服务器已处于运行状态时,本地运行该笔记本所需的空闲内存(记为N)
现有测算思路
我目前想到的测算步骤如下:
- 执行命令:
/usr/bin/time -v jupyter notebook - 将输出中的「Maximum resident set size」值认定为Jupyter服务器单独占用的内存(记为S)
- 将目标Notebook导出为
.py格式文件 - 执行命令:
/usr/bin/time -v ipython notebook.py - 将输出中的「Maximum resident set size」值认定为代码本身占用的内存(记为C)
基于以上结果,我做出如下假设:
- M > S + C
- N > C
对现有方法的疑问与优化方向
我认为上述方法存在不足,应该有更优的测算方案,理由如下:
- Jupyter Notebook与客户端的通信操作会占用额外内存,现有方法未覆盖这部分开销
- 浏览器中运行的Jupyter客户端也会占用额外内存,这部分需求未被纳入测算
- 未回收的垃圾内存会被计入C,但这部分不应算作运行该笔记本的必要内存需求,对吗?
内容的提问来源于stack exchange,提问作者abukaj
相关产品推荐
相关产品推荐

