Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java中如何度量线程消耗的资源_Java_Multithreading - Fatal编程技术网

Java中如何度量线程消耗的资源

Java中如何度量线程消耗的资源,java,multithreading,Java,Multithreading,我需要跟踪当前正在运行的线程执行情况,以测量it的性能,如内存使用率、CPU使用率和全局缓存未命中率等。。。 我已经能够使用java.lang.management.ThreadMXBean 获取线程的CPU时间 ThreadMXBean tmxb = ManagementFactory.getThreadMXBean(); long cpuTime = tmxb.getThreadCpuTime(aThreadID); 但是我无法获得其他值。所以我的问题是,是否有可用的API来测量线程性能,

我需要跟踪当前正在运行的线程执行情况,以测量it的性能,如内存使用率CPU使用率全局缓存未命中率等。。。 我已经能够使用
java.lang.management.ThreadMXBean

获取线程的CPU时间

ThreadMXBean tmxb = ManagementFactory.getThreadMXBean();
long cpuTime = tmxb.getThreadCpuTime(aThreadID);

但是我无法获得其他值。所以我的问题是,是否有可用的API来测量线程性能,或者如何使用本机方式获得线程性能。

jdk的bin文件夹中通常有一个jconsole可执行文件。执行它,连接进程,它将列出所有托管bean


java.lang文件夹就是您要查找的文件夹。

每个线程都有自己的堆栈,其大小固定。对于其他线程,线程的整个原理是它们都共享相同的内存,因此询问线程的内存使用情况没有多大意义。