JConsole – best kept secret?
When recently having memory issues with our new hardware running tomcat we found we could look at what resources tomcat was using with the jconsole program situated in JAVA_HOME/bin/ if you do a top to find the process id (PID) of tomcat you can just use jconsole PID like this: jconsole 12203 and you will get a fantastic graph options for memory, threads, classes.
A very useful resource indeed!!! This tool told me that our Perm Gen memory was running high relative to the amount allocated so I just upped the allocation using -XX:MaxPermSize=128m (default is 64m) in the tomcat startup script. Tomcat on our production servers has been reliable ever since.