我想限制在Linux系统上运行的Perl脚本的内存使用量。我一直在尝试使用BSD::Resource的setrlimit
,但一直有问题。我很感激任何指针。谢谢。
答案 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
。