Jvisualvm简单使用教程
时间:2022-06-25
本文章向大家介绍Jvisualvm简单使用教程,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
本博客介绍一下jvisualvm的简单使用教程,jvisualvm功能还是挺多的,不过本博客之简单介绍一下
1、拿线程快照信息
在jdk安装目录找到jvisualvm.exe,${JDK_HOME}binjvisualvm.exe
这里可以看到具体的线程快照信息:
收集后可以看到如图,右键,保存线程快照信息
收集线程快照信息主要是为了监控是否有出现死锁的情况:
观察收集到快照信息,拉到最后看看,如图,就是有出现死锁
再往上看: 这里就列出了对应的死锁情况,根据http-nio-8080-exec-274这些去搜索,定位问题
"http-nio-8080-exec-274":
waiting to lock monitor 0x000000000b0263b0 (object 0x000000070008cbd0, a com.tongweb.log.PassThroughPrintStream),
which is held by "http-nio-8080-exec-87"
"http-nio-8080-exec-87":
waiting to lock monitor 0x0000000029989058 (object 0x00000007000a0fa0, a com.tongweb.web.webutil.util.log.SystemLogHandler),
which is held by "pool-12-thread-2"
"pool-12-thread-2":
waiting to lock monitor 0x0000000026915308 (object 0x00000007000a0fc8, a com.tongweb.log.PassThroughPrintStream),
which is held by "http-nio-8080-exec-85"
"http-nio-8080-exec-85":
waiting to lock monitor 0x0000000029989058 (object 0x00000007000a0fa0, a com.tongweb.web.webutil.util.log.SystemLogHandler),
which is held by "pool-12-thread-2"
2、拿堆栈快照信息 拿堆栈快照信息,如图,选择监控->堆Dump
时间会比较久,需要等待
同样右键->保存,保存堆栈快照信息
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 【Python】Python爬虫爬取中国天气网(一)
- C# semaphore的使用-2
- [打造自己的监控系统]使用Django批量监控Oracle Job运行情况
- C#多线程--信号量(Semaphore)
- zabbix微信报警设置
- C#中调用python
- Emgucv视频处理--进阶篇
- C#中Lambda表达式总结
- [打造自己的监控系统]使用Django批量监控Oracle长会话
- C# ref实例讲解
- [Oracle 故障处理]记一次undo表空间使用率99%的问题
- C# 队列(Queue)
- 记住没:永远不要在 MySQL 中使用 UTF-8!
- C#多线程委托ParameterizedThreadStart应用
- [Python爬虫]使用Selenium操作浏览器订购火车票