I'm looking for a profiler than can profile a Java6 application running on a separate linux box (with no windows manager).
The application is a latency sensitive, multithreaded server that typically responds to incoming network events in several hundred microseconds (less than 1 millisecond). I'm interested in learning about hot sections of code and contended locks, I'm less interested in memory usage patterns.
I'm not concerned about the profiling overhead during the profiling run, I expect there to be a performance hit.