diff options
author | Jarkko Hietaniemi <jhi@iki.fi> | 2002-05-09 14:09:00 +0000 |
---|---|---|
committer | Jarkko Hietaniemi <jhi@iki.fi> | 2002-05-09 14:09:00 +0000 |
commit | 2c646907d8be3abcfdbcb890fa5c8ca825c7ce91 (patch) | |
tree | fd2dfb2d89edad2ffd718654079053a07941d6c4 /pod/perlfaq3.pod | |
parent | 1fdb6f840c15335baa3b41d0fe57a0671fb3b52b (diff) | |
download | perl-2c646907d8be3abcfdbcb890fa5c8ca825c7ce91.tar.gz |
FAQ sync.
p4raw-id: //depot/perl@16527
Diffstat (limited to 'pod/perlfaq3.pod')
-rw-r--r-- | pod/perlfaq3.pod | 21 |
1 files changed, 9 insertions, 12 deletions
diff --git a/pod/perlfaq3.pod b/pod/perlfaq3.pod index abab557a54..0db19d7fd2 100644 --- a/pod/perlfaq3.pod +++ b/pod/perlfaq3.pod @@ -1,6 +1,6 @@ =head1 NAME -perlfaq3 - Programming Tools ($Revision: 1.21 $, $Date: 2002/04/28 15:51:10 $) +perlfaq3 - Programming Tools ($Revision: 1.22 $, $Date: 2002/05/06 13:11:13 $) =head1 DESCRIPTION @@ -617,17 +617,14 @@ No, Perl's garbage collection system takes care of this. =head2 How can I free an array or hash so my program shrinks? -You can't. On most operating systems, memory allocated to a program -can never be returned to the system. That's why long-running programs -sometimes re-exec themselves. Some operating systems (notably, -FreeBSD and Linux) allegedly reclaim large chunks of memory that is no -longer used, but it doesn't appear to happen with Perl (yet). The Mac -appears to be the only platform that will reliably (albeit, slowly) -return memory to the OS. - -We've had reports that on Linux (Redhat 5.1) on Intel, C<undef -$scalar> will return memory to the system, while on Solaris 2.6 it -won't. In general, try it yourself and see. +You usually can't. On most operating systems, memory +allocated to a program can never be returned to the system. +That's why long-running programs sometimes re-exec +themselves. Some operating systems (notably, systems that +use mmap(2) for allocating large chunks of memory) can +reclaim memory that is no longer used, but on such systems, +perl must be configured and compiled to use the OS's malloc, +not perl's. However, judicious use of my() on your variables will help make sure that they go out of scope so that Perl can free up that space for |