title: Recommend a profiler for a Java app running on a remote linux machine?
body: <p>I'm looking for a profiler than can profile a Java6 application running on a separate linux box (with no windows manager).  </p>
  
  <p>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.</p>
  
  <p>I'm not concerned about the profiling overhead during the profiling run, I expect there to be a performance hit.  </p>