Memory Profiling: Introduction
easyperf.net
Memory Profiling: Introduction
1–10 of 19 posts
Re: Memory Profiling: Introduction
#2Re: Memory Profiling: Introduction
#3http://kohlerm.blogspot.com/2009/02/how-to-really-measure-me... do we really still not have a decent memory usage analysis tool for c/ C++ ?
Yes, in many languages you can combine a few things plus a core dump and figure leaks out too... but average people actually use MAT because it's largely transparent, and it can operate on running processes. Very few languages can compete with that in practice, much less with reasonable performance.
Re: Memory Profiling: Introduction
#4Instead I've added random sampling - e.g. if ptr % modulo > level - output it or not.
Another factor that slows down is doing a callstack capture. It's not for free at all, like on Windows it has to go through the exception handlers, etc. I think perfetto simply captures the whole stack (need to check again), and then offline decodes it - or something like this.
Windows ETW Tracing can also capture the stack, but I guess it'll incur also some penalty - it can't come for free.
I also wish there was some kind of standard binary format for emitting alloc/free sequences with callstack/etc.
Re: Memory Profiling: Introduction
#5Re: Memory Profiling: Introduction
#6http://kohlerm.blogspot.com/2009/02/how-to-really-measure-me... do we really still not have a decent memory usage analysis tool for c/ C++ ?
MAT is useful enough on its own to make me seriously consider Java almost everywhere. So many tricky memory leaks in other languages made completely trivial. Yes, in many languages you can combine a few things plus a core dump and figure leaks out too... but average people actually use MAT because it's largely transparent, and it can operate on running processes. Very few languages can compete with that in practice,…
Re: Memory Profiling: Introduction
#7Re: Memory Profiling: Introduction
#8http://kohlerm.blogspot.com/2009/02/how-to-really-measure-me... do we really still not have a decent memory usage analysis tool for c/ C++ ?
Shameless plug: not sure if I'd call it decent, but you might want to check my Bytehound for more in-depth analysis:
Re: Memory Profiling: Introduction
#9Some of our tools do so much allocation that capturing all the information (using MTuner) to disk and later loading require by itself hundreths of GB. Instead I've added random sampling - e.g. if ptr % modulo > level - output it or not. Another factor that slows down is doing a callstack capture. It's not for free at all, like on Windows it has to go through the exception handlers, etc. I think perfetto simply captur…
A good alternative that also cuts down on the amount of data significantly is to strip away temporary allocations, say, only emit those allocations which were alive for at least X seconds.
Re: Memory Profiling: Introduction
#10http://kohlerm.blogspot.com/2009/02/how-to-really-measure-me... do we really still not have a decent memory usage analysis tool for c/ C++ ?