У меня есть многозадачное многопоточное Java-приложение с процессором, и я ищу способы измерения его производительности во время выполнения (полезно для автоматизации). Я пробовал несколько вариантовКак измерить производительность приложения Java?
System.currentTimeMillis();
System.nanoTime();
ThreadMXBean.getThreadCPUTime();
Первые две меры в реальном времени. Последнее измеряет время процессора только для одного потока. Я хочу измерить время CPU для всех потоков, порожденных процессом.
Перед тем, как воскресить старую машину и посвятить ее этой задаче, я хотел бы посмотреть, какие у меня есть варианты.
Я запускаю Linux и зависимое от платформы решение приемлемо, но наименее желательно.
См. «Теория и практика Java: динамическая компиляция и измерение производительности» на странице http://www.ibm.com/developerworks/java/library/j-jtp12214/. Это комментарий, а не ответ :-) – Istao
Взгляните на источник этого плагина - JTop: http://blogs.oracle.com/alanb/entry/two_fine_demos –