JVM的监控工具之jvisual
VisualVM(All-in-One Java Trouble shootingTool)是到目前为止随JDK发布的功能最强大的运行监视和故障处理程序,并且可以预见在未来一段时间内都是官方主力发展的虚拟机故障处理工具。
官方在VisualVM的软件说明中写上了“All-in-One”的描述字样,预示着它除了运行监视、故障处理外,还提供了很多其他方面的功能。如性能分析Profiling),VisualVM的性能分析功能甚至比起JProfiler、YourKit等专业且收费的Profiling工具都不会逊色多少,而且VisualVM的还有一个很大的优点:不需要被监视的程序基于特殊Agent运行,因此它对应用程序的实际性能的影响很小,使得它可以直接应用在生产环境中。这个优点是JProfiler、YourKit等工具无法与之媲美的。
在命令行输入jvisualvm:

可以直接看到本地启动了那些java线程,同样jvisualvm 也支持远程连接,远程连接远程配置参考上一篇博客(JVM的监控工具之jconsole):https://www.cnblogs.com/cheng21553516/p/11241237.html
本地连接远程如下所示:
首先输入远程的主机名以及显示名称:

接下来是右键添加JMX链接:

如图配置:

可以正常链接到远程:可以看到远程的tomcat进程信息:

VisualVM能做到什么?VisualVM可以做到:
1、显示虚拟机进程以及进程的配置、环境信息(jps、jinfo)。
2、监视应用程序的CPU、GC、堆、方法区以及线程的信息(jstat、jstack)。
3、dump以及分析堆转储快照(jmap、jhat)。
4、方法级的程序运行性能分析,找出被调用最多、运行时间最长的方法。
5、离线程序快照:收集程序的运行时配置、线程dump、内存dump等信息建立一个快照,可以将快照发送开发者处进行Bug反馈。
面板各项参数作用介绍:
和JConsole差不多,很多显示的东西都是重合的JVM参数和我们用jps输出的是一样的,系统属性和我们用命令jinfo -sysprops看到的是一样的。如图所示:
概述页签可以看到java 进程的一些属性参数和JVM参数:

(2)监视
和我们的JConsole界面显示的很类似对吧。堆的大小、元数据空间的大小等等。堆dump就是可以导出我们当前线程的堆转储文件,其实就相当于我们jdk的命令行中执行jmap的命令。
如图所示:监视页签可以从CPU占用,堆内存占用,元数据空间大小,以及线程数等维度进行监控,同样也可以进行来及回收,对快照分析等:

(3)线程
同样也有Dump,同样是和我们JDK命令行工具的jstack是一样的操作。可以生成虚拟机当前时刻的线程快照。如图所示:
线程页签可以从线程的状态,以及线程快照进行分析:

JVM的监控工具之jvisual的更多相关文章
- JVM性能监控工具(一)-jdk命令行工具
转载:http://blog.csdn.net/top_code/article/details/51456186 当系统出bug需要定位问题的时候,知识.经验是关键基础,数据是依据,工具是运用知识处 ...
- 深入理解JVM—性能监控工具
(转自:http://yhjhappy234.blog.163.com/blog/static/31632832201222691738865/) 我们知道,在JVM编译期和加载器,甚至运行期已经做了 ...
- JVM 常用监控工具
概述 给一个系统定位问题的时候,知识.经验是关键基础,数据是依据,工具是运用知识处理数据的手段. 这里说的数据包括但不限于异常堆栈.虚拟机运行日志.垃圾收集器日志.线程快照(threaddump/ja ...
- JVM内存监控工具 JavaMelody
这是一个需要web部署的工具,需要在容器中部署,然后将要监控的程序添加到该程序中即可. JavaMelody是java应用的监控工具,安装部署步骤如下: 1. 首先先下载javamelody.jar ...
- JVM内存监控工具 Jconsole
-------------Jconsole监视远程的linux服务器上的tomcat ----------------------------- 1.linux服务器上的tomcat 的bin/cat ...
- JVM性能监控工具-Jvisualvm
用法:Jvisualvm是JDK自带的一款性能分析工具 使用方式: 1.配置好JDK环境变量 1.本地JVM监控略 2.远程JVM监控 用JMX对Resin内存状态进行监控 ,可以看到本地所有可监控的 ...
- jvm性能监控工具
jvm可能存在的问题: OutOfMemoryError:内存不足 内存泄露 线程死锁 锁竞争(Lock Contention) Java消耗过多的CPU 一.jps(j ...
- JVM的监控工具之jhat
在上一篇文件文章中讲到了jhap的用法:https://www.cnblogs.com/cheng21553516/p/11223615.html,既然jhap可以转储堆的快照文件, 那么用什么来分析 ...
- JVM的监控工具之jinfo
参考博客:https://www.jianshu.com/p/8d8aef212b25 jinfo(ConfigurationInfoforJava)的作用是实时地查看和调整虚拟机各项参数,使用jps ...
随机推荐
- createscope
/// <summary> /// Creates a new <see cref="IServiceScope"/> that can be used t ...
- ABAP 7.4 新语法-内嵌生命和内表操作(转)
转自:https://www.cnblogs.com/mingdashu/p/6744637.html ABAP 7.4 新语法-内嵌生命和内表操作 1.内嵌声明 2.内表操作 3.opensql ...
- Vue中计算属性、侦听、过滤、自定义指令、ref的操作
1.计算属性 <div id="app"> <input type="text" v-model="x"> < ...
- Android框架Volley之:ImageRequest请求实现图片加载
首先我们在项目中导入这个框架: implementation 'com.mcxiaoke.volley:library:1.0.19' 在AndroidManifest文件当中添加网络权限: < ...
- MSSQL 插入数据时候,如果存在则更新的方法分享
摘要:下文讲述MSSQL中,插入数据时,如果存在则更新,否则就插入数据的方法分享实验环境:sql server 2017 mssql中,我们可以采用 MERGE INTO 关键字实现此功能,当两者匹配 ...
- Linux使用Samba实现文件共享
Samba服务是现在Linux系统与Windows系统之间共享文件的最佳选择. [root@study ~]# yum install samba -y #安装samba服务 [root@study ...
- RSA 登陆加密与解密
最近公司项目验收后,客户请来的信息安全技术人员对我们的网站进行了各种安全测试与排查问题,其中就有一个登陆时的加密问题.本来如果只是单纯的加密,可以直接在前台用MD5加密,将加密的值添加到数据库即可.但 ...
- 一次shell脚本小事故,从中学习排错过程-软件测试
一次shell脚本小事故,从中学习排错过程 事出,童鞋使用shell脚本搭建测试环境的过称中..... 配置环境变量文件:/etc/profile(用于升级JDK或其他) 手动编辑方法:vi /etc ...
- TeamyinyinFish->鱼嘤嘤小分队软件工程beta迭代作业
Github项目的链接 github工作组链接 github后台部分项目代码,issue提交在这个项目 github小程序前端部分项目代码链接 scrum会议时间 链接 第十一周 十一周博客 第十二周 ...
- lua 15 协程-协同程序
转自:http://www.runoob.com/lua/lua-coroutine.html 什么是协同(coroutine)? Lua 协同程序(coroutine)与线程比较类似:拥有独立的堆栈 ...