YourKit Memory Profiler 1.0 for Java is a new generation of memory profiling tools. With help of this tool,
- Posted by: YourKit Team
- Posted on: August 11 2003 03:57 EDT
you can easily solve memory related performance problems such as memory leaks and memory consumption
YourKit Memory Profiler:
- Automation of memory leak detection
- Powerful tools for analysis of memory distribution
- Easy to use object heap browser
- Comprehensive memory tests as part of your JUnit testing process
- Profiling overhead is almost zero
- Profiling of your applications in development and production stages
- Transparent deobfuscation support for obfuscated production code
- Integration with modern IDEs (IntelliJ IDEA and Borland JBuilder)
- Both profiler agent and client work on Windows and Linux
- Friendly not cluttered user interface
You can download evaluation version at http://www.yourkit.com
Should you have any questions or comments, please dont hesitate to contact us at info at yourkit dot com
With best regards,
Hi, I was wondering if this tool can calculate recursive size of objects. In other words, if I have a Map that references 100,000 Integers, JProbe and OptimizeIt will show just the size of the map (a couple of bytes). What I would like to see is a tool that is smart enough to recurse (without self-loops) and calcuate "total referenced size" - in my example, that is sum of all 100,000 Integers plus size of map itself.<br>
IMHO, this is the real feature one wants from memory profiler: you quickly want to see what the culprit is - and it is usually some container(collection, map etc) that is not cleaned up properly. Once you can pinpoint such container (by its abnormal "total size"), you can say that you solved 95% of the memory leak problem.
Yes it can. It seems that you are talking about retained size of HashMap. With help of YourKit Memory Profiler you can calculate retained size for any particular object, package, or set of objects.
Yes, this is exactly what I wanted! I downloaded the tool and I have to say I really like it. It is *the first* (as far as I know) tool that really let's you see the big picture of your memory usage by calculating what is called "retained size". You can easily open root package for your application and you can sort subpackages and instances by their retained sizes. Very convenient (and fast, by the way).
One thing I would like to have is to be able to create "use cases" as they call it in JProbe: I want to wait till I reach a certain point when I have loaded all the classes and initialized all variables, and then to set a baseline, then to perform additional operations and then to make a snapshot that will contain "retained size relative to the baseline".
Obviously, this product can be improved, but I can highly recommend it even at its current state to those who are seriously working with memory debugging.