【问题标题】:How can I measure the memory required to run a Jupyter notebook?如何测量运行 Jupyter 笔记本所需的内存?
【发布时间】:2022-09-30 15:26:59
【问题描述】:

我正在准备一个使用大型数组(1-40 GB)的 Jupyter 笔记本,我想给出它的内存要求,或者更确切地说:

  • 可用内存量 () 运行 Jupyter 服务器和笔记本(本地)所必需的,
  • 可用内存量 (ñ) 在服务器已经运行时(本地)运行笔记本所必需的。

我最好的主意是:

  • 运行/usr/bin/time -v jupyter notebook,
  • 假设“Maximum resident set size”是服务器单独使用的内存(小号),
  • 将笔记本下载为*.py文件,
  • 运行/usr/bin/time -v ipython notebook.py
  • 假设“最大驻留集大小”是代码本身使用的内存(C)。

然后假设ñ>C>小号+C.

我认为必须有更好的方法,如:

  • 我希望 Jupyter 笔记本使用额外的内存来与客户端等进行通信,
  • 在浏览器中运行的客户端还使用了额外的内存,
  • 未收集的垃圾会导致C,但不应该算作所需的内存,应该吗?
  • /usr/bin/time -v jupyter nbconvert --to notebook --execute notebook.ipynb 呢?虽然不考虑浏览器显示内存
  • @JoshFriedlander 我还没有尝试过。是否测量或者ñ?

标签: python memory jupyter-notebook resources


【解决方案1】:

我认为你的任务很艰巨。

您无法保证 Python 实际上将每个变量都放入 ram 中。也许操作系统决定使用交换来踢掉磁盘上的一些内存。

您可以尝试禁用它,但可能还有其他缓存内容的东西。

您可以使用gc 包在python 中以某种方式强制垃圾收集,但是当我尝试这样做时结果不一致。

我不知道 M 和 N 是否真的对您有用,或者您是否只是想调整服务器的大小。如果是后者,也许在 AWS 或 Digital Ocean 上租用越来越大的服务器并运行运行时基准测试实际上可能会给您更快、更可靠的结果。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-05-17
    • 2020-06-11
    • 2018-09-23
    • 1970-01-01
    • 2020-11-18
    • 2021-07-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多