Profile Tomcat Application With VisualVM

I have VisualVM profiling working with my Tomcat application now. I needed to add the following parameters to the tomcat startup: -Dcom.sun.management.jmxremote.port=8086 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false Here is a nice article on monitoring Tomcat with VisualVM.

What are the differences between JVisualVM and Java Mission Control?

One important point is that Mission Control is potentially not free to use on production environments. It is free for applications running in DEV & QA and Oracle are not currently enforcing the charges for production applications (as of Nov 2014). However, their executives have made it clear this may change in time.

VisualVM and Self Time

Self Time is a wall-clock time spent in the method itself (includes time waiting/sleeping). Self Time (CPU) is a time processor time, so it does NOT include time spent waiting, sleeping, etc. Both columns do NOT include time spent in methods invoked from that method. Both Self Time and Self Time (CPU) in the sampler … Read more

VisualVM – Thread States

I found a very nice diagram which pretty much describes all you need/want to know. New The thread is in new state if you create an instance of Thread class but before the invocation of start() method. Runnable The thread is in runnable state after invocation of start() method, but the thread scheduler has not … Read more