[fpc-pascal] heap size growing

Seth Grover sethdgrover at gmail.com
Wed Jan 14 04:50:30 CET 2009


I've got a fairly large system (originally written in Delphi, then
moved to Kylix, and now finally in FPC 2.2.2) which is doing a lot of
different things. Various threads are running which execute reports,
communiate with other devices, query data, process notifications, send
and receive data on sockets, etc.

For analysis of how its performing, I've got a thread which prints out
the information from GetFPCHeapStatus every five minutes. What I
notice is that CurrHeapUsed is not growing at all, it stays pretty
much the same over hours of running. However, CurrHeapSize is pretty
much continuously growing. For example (cu is current heap used, cs is
current heap size, cf is current heap free, mu is max heap used, ms is
max heap size):

heap status: cu=1,407,664, cs=34,930,688, cf=33,523,024,
mu=33,621,024, ms=35,749,888
heap status: cu=1,411,264, cs=66,715,648, cf=65,304,384,
mu=33,635,232, ms=67,239,936
heap status: cu=1,409,296, cs=98,435,072, cf=97,025,776,
mu=33,635,232, ms=98,467,840
heap status: cu=1,411,952, cs=161,873,920, cf=160,461,968,
mu=33,674,176, ms=161,873,920
heap status: cu=1,409,056, cs=193,593,344, cf=192,184,288,
mu=33,674,176, ms=193,593,344
heap status: cu=1,409,360, cs=193,593,344, cf=192,183,984,
mu=33,674,176, ms=193,626,112
heap status: cu=1,409,552, cs=225,312,768, cf=223,903,216,
mu=33,674,176, ms=225,345,536
heap status: cu=1,408,704, cs=257,032,192, cf=255,623,488,
mu=33,674,176, ms=257,064,960
etc.

top shows:
PID   USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  P COMMAND
15196 root      19   0 2323m 1.8g 2780 S    0 24.6   0:00.68 4 processname

free -m shows:
             total       used       free     shared    buffers     cached
Mem:          7611       7356        254          0         66       5023
-/+ buffers/cache:       2266       5344
Swap:         4094          0       4094

If I were allocating memory and not deallocating it, ie., if it were a
memory leak, it seems CurrHeapUsed would be growing, right?

It seems I should be concerned... what's the best direction to go from
here? HEAPTRC?

-SG

========================
Computer over. Virus = very yes.

Seth Grover
sethdgrover[at]gmail[dot]com



More information about the fpc-pascal mailing list