i'm using top to check the memory allocated to a daemon i have written in c. the daemon executes a cycle every 3 minutes. during a cycle memory is allocated and freed. (i've checked for memory leaks and overflows using dmalloc, and everything is fine.)
although top shows that there are no drastic problems, the SIZE and RSS columns give ranging figures that don't seem to tally with the 3 minute cycle. for example, when the process starts it usually is allocated about 800k, but this can fluctuate 2 hours later to 1200k or 600k.
surely, every 3 minutes, i should see memory allocated and then deallocated afterwards.
so, does linux allocate memory like this (i.e. is this normal)?
is top giving me the right information?
have i got problems with my code?