性能测试全栈笔记:57.Java线程监控-基础篇

作者: admin 分类: 性能专题 发布时间: 2022-01-29 02:19

性能测试全栈笔记:

57.Java线程监控-基础篇

监控java线程工具:jvisualvm(jdk自带工具)、jstack(快照/命令行)

  • java线程有问题,有了工具应该看什么,关注什么?
  • 解答:线程状态

线程的五种状态:

  • 新建:new
  • 运行:runnable
  • 等待:waitting(无限等待)、timed waitting(限期等待/需关注)
  • 阻塞:blocked(需关注)
  • 结束:terminated

下面用几个例子来说明上述几种状态:

先用jvisualvm工具:

步骤1:监控之前先对jvm加监控参数,在tomcat的bin目录下,catalina.sh文件中,第二行添加:
JAVA_OPTS="-Dcom.sun.management.jmxremote.port=10086 -
Dcom.sun.management.jmxremote.ssl=false -
Dcom.sun.management.jmxremote.authenticate=false -
Djava.rmi.server.hostname=192.168.25.168"

tip:

  • 选择10086端口号时,先看一下端口有没有被占用:netstat -lnp |grep 10086或者netstat -anp |grep 10086
  • 192.168.25.168:需要监控的那台机器IP

步骤2:保存并退出

步骤3:重启tomcat

  • ps -ef | grep tomcat
  • kill -9 pid
  • tomcat的bin目录下启动tomcat:./startup.sh或者sh startup.sh

tip:

  • 如果启动失败,看一下配置代码里是不是多了空格
  • 启动后看一下前台站点是不是真的启动了

步骤4:添加jvisualvm监控

jvisualvm工具路径:本地jdk文件夹下bin文件夹内jvisualvm.exe文件(C:\Program Files\Java\jdk1.8.0_202\bin\jvisualvm.exe),取决于jdk安装路径

  • 点击确定
  • 鼠标右击,选择JMX连接
  • 填写之前设置的端口号:10086

点击确定,稍等片刻会接进来:

其中,pid:5481表示tomat进程号

整体监控:

java线程:

通过整体监控和java线程,可以帮助我们完成很多性能问题分析,后续会一一分享

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

发表回复