free(2) doesn't give free -- what ??

Dietmar Weis weis at netmbx.UUCP
Mon Apr 29 01:41:20 AEST 1991


Free(2) frees memory in a running process, but no other process can use it 
then.

We have seen this with vmstat(8) and a test program which [cm]allocs in
1K steps and frees in 1K steps:

Allocating memory increases the avm column and decreases the fre column.
-ok-

Freeing memory decreases avm but does NOT increase fre.
-not ok-

This is fatal I would say, because we have a process which allocates 7 MB
(don't ask me why) and then frees them later on. But this doesn't succeed.
Four such processes and system perfomance goes down because of paging and
swapping.

Or is free(2) designed to free memory on terminating the process?
What is the algorithm, what is the clue ?

Thank you very much

Dietmar
-- 
weis at netmbx.UUCP         | Dietmar Weis         DONOP CONSULT GmbH
Voice: 030/884 28 54-0   |                      Uhlandstrasse 179/180
Fax:   030/882 55 29     |                      D - 1000 Berlin 12



More information about the Comp.unix.ultrix mailing list