Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/356.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进程中每个线程的cpu使用率百分比_Java_Multithreading_Cpu Usage - Fatal编程技术网

如何查看java进程中每个线程的cpu使用率百分比

如何查看java进程中每个线程的cpu使用率百分比,java,multithreading,cpu-usage,Java,Multithreading,Cpu Usage,所以,我有一个多线程的程序,出于某种原因,我不知道为什么,CPU使用率会随机增加。我需要知道哪个类或线程正在使用CPU ThreadMXBean threadMXBean = ManagementFactory.getThreadMXBean(); for(Long threadID : threadMXBean.getAllThreadIds()) { ThreadInfo info = threadMXBean.getThreadInfo(threadID); log

所以,我有一个多线程的程序,出于某种原因,我不知道为什么,CPU使用率会随机增加。我需要知道哪个类或线程正在使用CPU

ThreadMXBean threadMXBean = ManagementFactory.getThreadMXBean();

 for(Long threadID : threadMXBean.getAllThreadIds()) {
     ThreadInfo info = threadMXBean.getThreadInfo(threadID);
     logging.info("Thread name: " + info.getThreadName());
     logging.info("Thread state: " + info.getThreadState());
     long cpuTime= threadMXBean.getThreadCpuTime(threadID);
     logging.info(String.format("CPU time: %.2f s",cpuTime==0?cpuTime/1000000000d));
 }
我需要打印这样的东西

2019-10-08 20:47:41 INFO - thread name: xxxx
2019-10-08 20:47:41 INFO - thread cpu percent: xx,x%

好的,那问题是什么?我需要打印进程中所有线程的cpu使用情况。如果没有诸如h top之类的命令,我无法访问应用程序之外的控制台。请查看以下问题的答案:;它涵盖了这一点和其他一些相关的话题。我已经看过这篇文章,但它对我没有帮助