Как измерить производительность Java-приложения?

У меня есть многопоточное Java-приложение, интенсивно использующее процессор, и я ищу способы измерить его производительность во время выполнения (полезно для автоматизации). Я пробовал несколько вариантов

System.currentTimeMillis();
System.nanoTime();
ThreadMXBean.getThreadCPUTime();

Первые два измеряют реальное время. Последний измеряет процессорное время только для одного потока. Я хочу измерить процессорное время для всех потоков, порожденных процессом.

Прежде чем воскресить старую машину и посвятить ее этой задаче, я хотел бы посмотреть, какие у меня есть варианты.

Я запускаю Linux и Решение, зависящее от платформы, приемлемо, но наименее желательно.

11
задан Alexandru 23 September 2010 в 10:50
поделиться