Can someone suggest a good tomcat memory profiler? (I am trying to profile the memory usage of a JRuby on Rails app deployed on a Tomcat instance in a Windows machine).
You can use VisualVM which is part of the JDK - more recent versions can be downloaded from visualvm.java.net/.
Or you can use the integrated profiler from NetBeans which is essentially the same thing as VisualVM just with some additional features.
I personally use YourKit. You can download trial version and see if it is good for you.
Last time I checked VisualVM does not show aggregated numbers. This means that you can see that, for example, your app has 10000 allocations of
int array but you have no clue where these come from. YourKit has Biggest objects (dominators) screen which is quite helpful; you can see which objects take the most memory overall.