Memory profiling D applications
Griffon26 via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Sun Jan 31 10:02:37 PST 2016
I would like to get a view of the amount of memory that my
application requires over time, but this does not seem to be
trivial in D.
1) I assume the garbage collector could keep around memory that
my application is no longer using. If this is the case then no
external memory profiler is going to give me the information I'm
looking for and I have to ask the garbage collector how much is
in use by my application. However, I have not found any
interfaces that allow me to request this information. Is it even
possible?
2) Not everything uses garbage-collected memory.
std.container.array uses regular malloc/free calls. To include
these in the result I would still have to use an external
profiler to track mallocs (valgrind's massif or heaptrack for
example) and ignore the calls coming from the GC.
I've also tried running my application in a cgroup and limit the
available memory to determine peak memory usage experimentally,
but I'd much rather have a graph of usage over time.
Has anyone done anything like this before? Are there better ways
to do this?
Thanks,
Maurice.
More information about the Digitalmars-d-learn
mailing list