in reply to Memory limitation of a perl process in Unix

There's no arbitrary limit that Perl imposes on itself. It basically has two types of constraints: whatever constraints the OS implies on it (ulimit, process size limit, total memory available, etc), and a limit that depends on the pointer size. With 32 bit pointers, you won't be able to go over 2 or 4 Gb. With 64 bit pointers, you can go further.

Also note that if Perl dies with an "Out of Memory error" while using 3.28 Gb, it doesn't mean 3.28 Gb is the limit. It means the limit (at that moment in time) is between 3.28 Gb and whatever the amount it was that was being claimed.

If my processes were dying with "out of memory" errors, and they were using over 3 Gb of memory, I'd first look at the program and see whether I could gain by doing a redesign that looking at imposed limits.

Abigail

  • Comment on Re: Memory limitation of a perl process in Unix