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

时间:2009-06-09 07:25:13

标签: linux perl memory

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

2 个答案:

答案 0 :(得分:8)

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

使用此代码:

use BSD::Resource;
setrlimit(get_rlimits()->{RLIMIT_VMEM}, 1_000_000_000, -1) or die;
1;

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

use limit;

位于我想限制的任何程序的顶部。

答案 1 :(得分:3)

Scott Corely建议在运行perl脚本之前设置ulimit