I have a large Java app that uses massive amounts of memory at times and I would like to monitor this at intervals to see if heap or permgen limits are reached or have gotten ne
You can try visualVM, a Java profiler that goes with every JDK. You will find it in the "bin" folder.