Java中如何度量线程消耗的资源
我需要跟踪当前正在运行的线程执行情况,以测量it的性能,如内存使用率、CPU使用率和全局缓存未命中率等。。。 我已经能够使用Java中如何度量线程消耗的资源,java,multithreading,Java,Multithreading,我需要跟踪当前正在运行的线程执行情况,以测量it的性能,如内存使用率、CPU使用率和全局缓存未命中率等。。。 我已经能够使用java.lang.management.ThreadMXBean 获取线程的CPU时间 ThreadMXBean tmxb = ManagementFactory.getThreadMXBean(); long cpuTime = tmxb.getThreadCpuTime(aThreadID); 但是我无法获得其他值。所以我的问题是,是否有可用的API来测量线程性能,
java.lang.management.ThreadMXBean
获取线程的CPU时间
ThreadMXBean tmxb = ManagementFactory.getThreadMXBean();
long cpuTime = tmxb.getThreadCpuTime(aThreadID);
但是我无法获得其他值。所以我的问题是,是否有可用的API来测量线程性能,或者如何使用本机方式获得线程性能。jdk的bin文件夹中通常有一个jconsole可执行文件。执行它,连接进程,它将列出所有托管bean
java.lang文件夹就是您要查找的文件夹。每个线程都有自己的堆栈,其大小固定。对于其他线程,线程的整个原理是它们都共享相同的内存,因此询问线程的内存使用情况没有多大意义。