如何为jupyter笔记本进程设置最大内存限制?
如果我使用太多RAM,计算机会被阻止,我必须按电源按钮才能手动重启计算机。
是否有一种方法可以在超出用户设置的内存限制时自动终止jupyter笔记本进程或抛出内存错误?感谢
答案 0 :(得分:5)
在Linux下,您可以使用“ cgroups”来限制计算机上运行的任何软件的资源。
用wait
安装#!/bin/bash
./script1.sh &
ps $! > /dev/null
if [ $? -ne 0 ]; then
echo "error pls check";
fi
./script2.sh
ps $! > /dev/null
if [ $? -ne 0 ]; then
echo "error pls check";
fi
./script3.sh
ps $! > /dev/null
if [ $? -ne 0 ]; then
echo "error pls check";
fi
wait
编辑其配置cgroup-tools
,以针对特定类型的工作(例如数值科学计算)创建配置文件:
apt-get install cgroup-tools
通过在/etc/cgconfig.conf
中列出您喜欢的进程名称,将该配置应用于您所关心的进程(在我的情况下,这是我在
group app/numwork {
memory {
memory.limit_in_bytes = 500000000;
}
}
中运行的所有/etc/cgrules.conf
可执行文件,但是可以使用也可以用于其他任何软件):
julia
最后,使用以下命令解析配置并将其设置为当前活动配置:
jupyter
我用它来设置对整个班级学生使用的服务器上运行的进程的限制。
此页面上有更多详细信息和其他使用
*:julia memory app/numwork/
https://wiki.archlinux.org/index.php/cgroups