如何限制Linux上的进程内存利用率(例如使用BSD :: Resource)

Ani*_*van 7 linux memory perl

我想限制在Linux系统上运行的Perl脚本的内存使用量.我一直在试图使用BSD ::资源setrlimit,但一直有问题.我很感激任何指针.谢谢.

tim*_*kay 8

在开发代码时,很容易让Perl程序逃跑并占用所有内存.机器将停止运转,直到程序耗尽内存并死亡.您可以防止此问题:

使用此代码:

use BSD::Resource;
setrlimit(get_rlimits()->{RLIMIT_VMEM}, 1_000_000_000, -1) or die;
1;
Run Code Online (Sandbox Code Playgroud)

我将此代码放在limit.pm中(因此为"1;").我可以说

use limit;
Run Code Online (Sandbox Code Playgroud)

在我想限制的任何程序的顶部.