Thomas,
When a process terminates, the memory (Heap, Stack and program) that it used is
released back to the Operating System. If the OS does not then re-use that
space, there is a bug in the OS.
A "memory leak" usually refers to a program that continually grabs memory as it
runs and does not free this memory up. (e.g. a call to 'malloc' inside a loop
without a corresponding call to 'free'). But even then, the OS will re-use the
memory when the program terminates.
However, if the program uses interprocess communication routines (shmctl, shmget
etc.) it may be that the shared-memory segments used are not released, when the
program terminates - especially if the program does not call "shmctl" with the
IPC_RMID command. See the MAN pages for ipcs and ipcrm to see how you can spot
these shared memory segments.
Hope this helps
Regards
--
+-----------------+---------------------------------+------------------+
| Neil Storer | Head: Systems S/W Section | Operations Dept. |
+-----------------+---------------------------------+------------------+
| ECMWF, | email: neil.storer_at_[hidden] | //=\\ //=\\ |
| Shinfield Park, | Tel: (+44 118) 9499353 | // \\// \\ |
| Reading, | (+44 118) 9499000 x 2353 | ECMWF |
| Berkshire, | Fax: (+44 118) 9869450 | ECMWF |
| RG2 9AX, | | \\ //\\ // |
| UK | URL: http://www.ecmwf.int/ | \\=// \\=// |
+--+--------------+---------------------------------+----------------+-+
| ECMWF is the European Centre for Medium-Range Weather Forecasts |
+-----------------------------------------------------------------+
|