We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 1eb4b9f commit 6b1042bCopy full SHA for 6b1042b
docs/java.md
@@ -6,7 +6,17 @@
6
7
在排查`Java`的`CPU`性能问题时(`top us`值过高),要找出`Java`进程中消耗`CPU`多的线程,并查看它的线程栈,从而找出导致性能问题的方法调用。
8
9
-PS:如何操作可以参见[@bluedavy](http://weibo.com/bluedavy)的《分布式Java应用》的【5.1.1 cpu消耗分析】一节,说得很详细:`top`命令开启线程显示模式、按`CPU`使用率排序、记下`Java`进程里`CPU`高的线程号;手动转成十六进制(可以用`printf %x 1234`);`jstack`,`grep`十六进制的线程`id`,找到线程栈。查问题时,会要多次这样操作,太繁琐。
+PS:如何操作可以参见[@bluedavy](http://weibo.com/bluedavy)的《分布式Java应用》的【5.1.1 cpu消耗分析】一节,说得很详细:
10
+
11
+1. `top`命令找出有问题`Java`进程及其线程号:
12
+ 1. 开启线程显示模式
13
+ 1. 按`CPU`使用率排序
14
+ 1. 记下`Java`进程号及其`CPU`高的线程号
15
+1. 手动转成十六进制(可以用`printf %x 1234`)。
16
+1. `jstack`有问题的`Java`进程。
17
+1. `grep`十六进制的线程`id`,找到线程栈。
18
19
+查问题时,会要多次这样操作,**太繁琐**。
20
21
这个脚本的功能是,打印出在运行的`Java`进程中,消耗`CPU`最多的线程栈(缺省是5个线程)。
22
0 commit comments