Perl doesn't free memory to the system until it exits, and there is really nothing that can be done about it. There are only a few OSes that could support such a feature (IIRC, most (all?) of them are embedded, real-time OSes). Fortunatly, Perl will take memory it already allocated and use it for something else later on. Until Perl needs to use it again, those memory pages will sit in the swap file, so this shouldn't be a big problem.
However, I'm surprised MacOS X is freaking over this where Linux doesn't. Possibly a weakness in MacOS X's virtual memory implementation, or possibly something wrong with how Perl interacts with MacOS. Or you're not using tight lexical scoping, so that memory is never reclaimed by Perl (but I'd expect Linux to also complain in that case).
----
I wanted to explore how Perl's closures can be manipulated, and ended up creating an object system by accident.
-- Schemer
Note: All code is untested, unless otherwise stated
In reply to Re: cleaning up memory after closing files on MACOSX
by hardburn
in thread cleaning up memory after closing files on MACOSX
by codingchemist
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |