Jupyter Notebook中的内存限制

17

如何为jupyter笔记本进程设置最大内存限制?

如果我使用过多的RAM,计算机会被阻塞,我必须手动按下电源按钮重新启动计算机。

是否有一种方法可以在用户设置的内存限制超过时自动终止jupyter笔记本进程或引发内存错误?谢谢。

1个回答

11
在Linux下,您可以使用"cgroups"来限制计算机上运行的任何软件的资源。使用“apt-get install cgroup-tools”安装cgroup-tools, 然后编辑其配置“/etc/cgconfig.conf”以为特定类型的工作(例如数值科学计算)创建一个配置文件。
group app/numwork {
  memory {
    memory.limit_in_bytes = 500000000;
  }
}

通过在 /etc/cgrules.conf 中列出您关心的进程名称,将该配置应用于它们(在我的情况下,这是所有通过 jupyter 运行的 julia 可执行文件,但您也可以将其用于任何其他软件):

*:julia  memory  app/numwork/

最后,使用以下命令解析配置并将其设置为当前活动配置:

~# cgconfigparser -l /etc/cgconfig.conf
~# cgrulesengd

我使用这个来对运行在整个学生班级使用的服务器上的进程设置限制。

此页面具有一些更多的细节和其他使用的方法。 https://wiki.archlinux.org/index.php/cgroups


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接