我们在 Linux 集群环境中运行 R。当用户无意中使用 R 进程占用所有内存时,头节点会出现几次挂起。 linux下有没有办法限制R内存使用?我不想建议全局 ulimit,但这可能是唯一的出路。
There's unix::rlimit_as() https://rdrr.io/cran/unix/man/rlimit.html允许使用以下命令为正在运行的 R 进程设置内存限制相同的机制 http://linux.die.net/man/2/getrlimit这也用于ulimit
在壳里。窗户和macOS https://stackoverflow.com/q/3274385/946850不支持。
In my .Rprofile
I have
unix::rlimit_as(1e12, 1e12)
将内存使用量限制为 ~12 GB。
在那之前...
我创建了一个小型 R 包,ulimit https://github.com/krlmlr/ulimit具有类似的功能。
使用以下命令从 GitHub 安装它
devtools::install_github("krlmlr/ulimit")
要将 R 可用的内存限制为 2000 MiB,请调用:
ulimit::memory_limit(2000)
Now:
> rep(0L, 1e9)
Error: cannot allocate vector of size 3.7 Gb
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)