java 线程监控

Posted dwdw

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 线程监控相关的知识,希望对你有一定的参考价值。

线程的五种状态

* 新建:new

* 运行:runnable

* 等待:waitting(无限期等待),timed waitting(限期等待)

* 阻塞:blocked

* 结束:terminated

                        线程转换关系

技术图片

 

 

线程的两种监控方法

一,jvisualvm,图形界面的方式 监控之前先对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.1.108"

1-改port

2-改hostname为本机ip

技术图片

win系统控制台输入 jvisualvm 启动JAVA Visualvm

技术图片

技术图片

 技术图片

 技术图片

二,jstack pid(端口号):命令行方式

技术图片

三、jstack pid(端口号) >a.log 输出日志

技术图片

 

以上是关于java 线程监控的主要内容,如果未能解决你的问题,请参考以下文章

深入理解Java虚拟机——可视化监控工具(Jconsole)线程死锁监控示例

Java线程及Jvm监控工具

如何用java代码来监控系统内存·cpu·线程占用情况,并生成日志

深入理解Java虚拟机——可视化监控工具(Jconsole)线程死锁监控示例

Java并发线程池监控

基于 JVMTI 实现 Java 线程的监控(转)