性能测试全栈笔记:56.Java线程监控-2(线程的几种表现形式)

作者: admin 分类: 性能专题 发布时间: 2023-01-20 11:27

本期专题:性能测试全栈笔记:56.Java线程监控-2(例子实战)

过程:通过一个例子来展示刚才的两个工具使用

例子:thread-test.jar是一个jar包,通过jar包模拟线程的几种表现形式,附件在最下方

命令:java -jar thread-test.jar 1(1代表runnable)

观察jvm的cpu和内存变化:

也可以用前面学过的命令进行对比:dstat -tcmnd --disk-util

正式排查:

  • 查看jar包程序进程号:ps -ef | grep java
  • 使用命令:jstack 6246(注意:不一定一次能成功,尽量使用:jstack -l pid > pid.log,多拍几次快照进行分析)
  • 重新开一个窗口,根据进程号找线程,看哪个(持续)占用高:
  • 在jstack结果中找到1870
  • 目的:找到消耗较高的线程信息,发给开发调试问题(有能力者可配合开发解决)

以下内容请参考上述操作:

java -jar thread-test.jar 2(2代表waitting)

java -jar thread-test.jar 3(3代表timedwaitting)

java -jar thread-test.jar 4(4代表blocked)

资源下载
免费资源
文件1地址点击下载
如下载链接失效请联系客服QQ:932875327;微信:rlczhouxiong

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注