我有一个CPU密集型多线程Java应用程序,我正在寻找在运行时测量其性能的方法(对自动化有用)。我试了几个选项如何测量Java应用程序的性能?
System.currentTimeMillis();
System.nanoTime();
ThreadMXBean.getThreadCPUTime();
前两项措施是实时的。最后一次测量只有一个线程的CPU时间。我想测量进程产生的所有线程的CPU时间。
在复活旧机器并将其专用于此任务之前,我想看看现在有什么选项。
我运行Linux和平台相关的解决方案是可以接受的,但最不可取的。
请参阅“Java理论与实践:动态编译和性能度量”,网址为http://www.ibm.com/developerworks/java/library/j-jtp12214/。这是一个评论,而不是答案:-) – Istao 2010-09-23 09:53:48
看看这个插件的来源 - JTop:http://blogs.oracle.com/alanb/entry/two_fine_demos – 2010-09-27 10:31:04