如何在Linux中找到由Java进程创建的前10个或最少的CPU密集型线程?

时间:2017-02-25 07:55:17

标签: java linux performance cpu-usage

如何在Linux中找到由Java进程创建的前10个或最少的CPU密集型线程堆栈跟踪?我想知道可能花多少时间

2 个答案:

答案 0 :(得分:1)

top这样的标准linux工具只会提供顶级进程,这些进程占用的CPU最多。但是无法判断单个java process中的所有线程占用了大部分cpu。

您需要一个像YourKit这样的分析工具来确定java进程中哪些线程正在使用大部分cpu,并且您可以在yourkit中启用基于跟踪的采样,甚至可以获得invocation count的{​​{1}}一种方法。

请参阅https://www.yourkit.com/docs/java/help/cpu_intro.jsp doc,了解如何使用您的套件开始使用CPU profiling

答案 1 :(得分:0)

这很简单。它奏效了!我们在Java中需要更多像这样的工具。

https://github.com/patric-r/jvmtop

您可以使用一个命令jvmptop.sh <pid>

获取以下信息

enter image description here