2010-05-06 39 views

回答

7

这很不平凡。你最好的选择是使用一个可以累积实际CPU周期的探查器。

+3

+1 JDK包含一个分析器JVisualVM,这是您可以尝试的第一件事。 – Jesper 2010-05-06 12:00:31

17

的Java MXBeans的可提供每个线程的CPU时间:

import java.lang.management.ManagementFactory; 
import java.lang.management.ThreadMXBean; 

long nanos = ManagementFactory.getThreadMXBean().getThreadCpuTime(Thread.currentThread().getId()); 
+0

请注意,此功能的可用性取决于平台。建议在使用'getThreadCpuTime'之前检查'isCurrentThreadCpuTimeSupported'标志。 – 2017-07-03 14:54:51

0

使用支持多度量分析解决方案。我们在产品支持标准产品中称之为(度量)米,例如CPU时间,阻塞时间,等待时间,甚至是基于关键性能指标的自定义计量器。我想你也想看看究竟是一个线程在做什么,在这种情况下,你肯定需要考虑一个产品,而不是一个本土的特别解决方案。