I'd like to limit the memory usage for my Perl script, running on a Linux system. I've been trying to use BSD::Resource's setrlimit
, but have been having problems. I'd appreciate any pointers. Thank you.
views:
1378answers:
2
+1
A:
Scott Corely suggests setting ulimit
before running the perl script.
Anders Lindahl
2009-06-09 07:32:45
A:
When you are developing code, it's easy to have your Perl program run away and consume all of memory. The machine will grind to a halt, until the program exhausts memory and dies. You can prevent this problem:
Use this code:
use BSD::Resource;
setrlimit(get_rlimits()->{RLIMIT_VMEM}, 1_000_000_000, -1) or die;
1;
I put this code in limit.pm (hence the "1;"). I can then say
use limit;
at the top of any program that I want to limit.