I am running Delphi XE2 x32 application under Windows 7 x64 Ultimate. It uses a
lot of multithreading and is quite CPU/RAM intensive. When it runs for an
extended period of time, I notice that it slowly consumes more and more RAM.
This does not happen when I use native Delphi memory manager, so I assume I
don't have any own leaks (like created, but not deleted objects, etc.). It
happens only when I use ScaleMM 2.4.1. I am fighting with this issue already
for some time, I tried different solutions. Firstly, I thought that if I delete
and recreate my threads from time to time (normally I create them only once and
then use a pool of threads) it would help, because when the tread is destroyed,
it will delete all its objects and free the memory. It didn't help, though, the
memory is still leaking. Is there any method that can prove that this leakage
is caused by ScaleMM, especially by fragmentation? Is there any way to to a
"defragmentation"? Is there anything at all that can be done? Honestly, I don't
want to go back to the default Delphi memory manager since with ScaleMM my
application runs 4-5 times faster.
Thank you!
Original issue reported on code.google.com by
acetyla...@nanoweb.infoon 23 Feb 2014 at 1:51