转载:http://286.iteye.com/blog/1931574

前篇文章已经介绍了一些JDK 中自带的监控工具,但是这些工具都是基于文本界面的,无法很直观的看出程序运行的波动情况,这节就介绍一些图形化的监控工具供大家更简单容易的监控使用。

首先说几个官方开发的图形监控工具:

1.jvmstat
        jvmstat是图形版的jstat,由Java 官方提供,目前最新版本为3.0。

下载地址:http://www.oracle.com/technetwork/java/jvmstat-142257.html

下载之后解压缩得到以下目录结构:

目录结构比较清晰,很容易就能分辨出各目录的功能及作用:
        bat:windows启动程序

bin:linux启动程序

docs:相关文档

etc:linux相关依赖库

jars:相关jar包

使用jvmstat 之前需要配置相应环境变量,环境变量配置如下:

Shell代码  

  1. JVMSTAT_HOME:jvmstat安装目录
  2. JVMSTAT_JAVA_HOME:JDK所在目录,与JAVA_HOME值相同

配置好两个环境变量之后就可以运行jvmstat 了,运行命令为:

Shell代码  

  1. visualgc pid
  2. #windows 系统进入bat 目录后运行该命令
  3. #linux 系统进入bin 目录后运行该命令

运行后界面自动打开并显示相应内容,如图所示:

从jvmstat 中可以清晰的观察到汇编,加载,垃圾回收消耗的时间与各区域内存使用情况,在图中s0与s1的内存使用永远都是相斥的,即至多只有一个会在使用。所以jvmstat 只能作为一款基本的图形监控工具。

评论:jvmstat 作为一款基本的JVM 图形化监控工具,优点就是简单易用,我们可以非常直观的观察堆内存的使用情况,当然仅仅为堆内存,所以jvmstat 具有一定的局限性。

2.JConsole

JConsole 是一个基于JMX 的图形监控工具,用于连接正在运行的JVM,与前面提到的jvmstat 类似的图形监控程序,可以以图表化的形式显示各种数据,并可通过远程连接监视远程的服务器VM 情况,此类工具可以较直观观察各种变化,但比较耗费资源。

在JDK 1.5之后JConsole 已经成为JDK 自带监控工具,只需要在命令行状态下输入:

Java代码  

  1. jconsole

即可开启监控界面,界面如下:

        选择本地监控还是远程监控。

        进入监控界面后,会有一些基本选项可以选择,例如内存,线程,类等。

选择内存选项后会显示堆与非堆内存等使用情况。

概述选项:监控JVM和一些监控变量的信息。 
        内存选项:内存使用信息 
        线程选项:线程使用信息 
        类选项:类调用信息 
        VM摘要:JVM的信息 
        MBean选项:所有MBean 的信息MBean 展示了所有以一般形式注册到JVM 上的MBean 。MBean 允许你获取所有的平台信息,包括那些不能从其他标签页获取到的信息。注意,其他标签页上的一些信息也在MBean 这里显示。另外,你可以使用 MBean 标签管理你自己的应用的MBean。

 评论:与jvmstat 相比jconsole 就要强大的多了,从jconsole 中可以不光光监控到内存情况,还可以监控例如:线程,类,JVM参数等等高级信息。jconsole 还可以根据内存等使用情况手动执行GC 清理,这给我们的程序监控与良好运行带来了很大的便利。值得注意的是jconsole可以同时监控多个JVM 进程,在jconsole 中可以轻松的切换监控界面。

3.Java VisualVM 
        JDK1.6 中Java 引入了一个新的可视化的JVM 监控工具:Java VisualVM。

VisualVM 官方网站:http://visualvm.java.net/

VisualVM 提供在Java 虚拟机上运行的Java 应用程序的详细信息。在VisualVM 的图形用户界面中可以方便、快捷地查看多个Java 应用程序的相关信息。

运行VisualVM 非常简单,只需在命令行状态下输入:

Java代码  

  1. jvisualvm

VisualVM 便会自动启动,之后可以看到如下界面:


        通过起始页的提示进入相应的学习文档页面,里面有丰富的教程及讲解,并且都是中文的!

"本地"列表下列出在本机运行的Java 程序的资源占用情况,如果本地有Java程序在运行的话启动VisualVM 即可看到相应的程序名,点击程序名打开相应的资源监控菜单,以图形的形式列出程序所占用的CPU、Heap、PermGen、类、线程的 统计信息,如图所示:

概述选项

监控选项

线程选项

"远程"列表下列出远程主机上的Java 程序的资源占用情况,但需要在远程主机上运行jstatd 守护程序

更多的应用及用法可以参照官方文档:

http://visualvm.java.net/zh_CN/gettingstarted.html?Java_VisualVM

评论:VisualVM 较JConsole 又强大了不少,其中又增加了许多功能与信息,通过VisualVM 可以更加直观的观察各种内容的详细信息。

        4.YourKit Java Profiler

YourKit 是一个用于分析Java 与.NET 应用程序的智能工具,YourKit Java Profiler 已经被IT 专业人士与分析师公认为最好的分析工具。通过YourKit 技术解决方案可以以非常高的的专业水平分析出CPU 与内存使用情况。
        YourKit Java Profiler 还获得了Java Developer's Journal(Java 开发者杂志)的编辑选择奖,其功能的强大可见一斑。

YourKit 网站官方:http://www.yourkit.com
        YourKit Java Profiler 下载地址:http://www.yourkit.com/download/index.jsp
        YourKit Java Profiler 提供了Java 与.NET 两种语言的支持,并且支持基本所有操作系统,目前最新版本为12.0.6。

下载界面如下:

下载并安装:
 

安装完成后一次运行会提示授权本软件,对于个人用户其实可以免费使用YourKit Java Profiler,只需在下载页面下方填写相应授权信息即可获得授权码,如图所示:

授权后运行会显示欢迎页面,如下所示:

        在欢迎页面可以选择监控运行中的JVM 进程,安装eclipse 插件,使用教程等等内容。

勾选"Show all running JVMs"会在下拉列表中显示所有JVM 进程,选择其中之一点击即可进入监控界面:
        上图即为CPU 相关信息的监控界面,从此界面可以观察CPU 的使用情况等信息。

还可以打开内存管理界面,查看JVM 中各种内存的占有情况:

当然YourKit Java Profiler 的功能绝不仅仅于此,我们还可以参照YourKit Java Profiler 管文档学习更加高级的监控功能使用,官方教程地址:http://www.yourkit.com/docs/index.jsp

 评论:YourKit Java Profiler 可以说异常的强大,你能想到的YourKit Java Profiler 基本都实现了,所以如此之强悍的工具已经不需要我多说什么,甚至你还可以购买它的付费版本,相信绝对会让小伙伴们惊呆的。本节也只是抛砖引玉的作用,更多更高级的特性需要大家在实践中自我摸索。

图形化的监控工具可以使我们在程序运行期间更直观的查看当前程序的运行情况,从而做出相应判断,监控程序可以让工作更加便利,但构建一个稳定高效的系统却是不断追求的终极目标。

JVM 图形化监控工具相关推荐

  1. 几款JVM图形化监控工具

    几款JVM图形化监控工具 前言 jconsole jvisualvm 概览 查看CPU.内存.类.线程运行信息 插件安装 Visual GC VisualGC jmc JHSDB工具 开启HSDB 启 ...

  2. JVM监控之图形化工具

    一.工具概述 使用命令行工具存在以下的局限性: 无法获取方法级别的分析数据,如方法之间的调用关系.各方法的调用次数和调用时间等 要去用户登陆到java应用所在的宿主机上 分析数据通过终端输出,结构不够 ...

  3. Memcache - 一款图形化memcache监控工具

    对于memcache监控,一般可以利用memcache自带的STAT命令来查看,但是其输出的结果对于开发而言不是很明了,监控的目的是让开发通过监控的结果去调优程序.这里介绍一款形化memcache监控 ...

  4. shell图形化监控网络流量 网络流量的监控工具有很多,如:Mrtg、Cacti、Zabbix等等,他们都有着各自的特点,不同的侧重,只为适合不同的应用场景的各种特殊需求。除了网络流量监控工具以外,还

    网络流量的监控工具有很多,如:Mrtg.Cacti.Zabbix等等,他们都有着各自的特点,不同的侧重,只为适合不同的应用场景的各种特殊需求.除了网络流量监控工具以外,还有Nagios这样的监控主机状 ...

  5. Zookeeper 图形化的客户端工具(ZooInspector)| 图形化的监控工具(taoKeeper)的下载和使用 | 后端开发工具Curator的高级应用

    前言 Zookeeper周边知识点较多,单篇文章难以表述,分成多篇,可据需点击进入. 本篇重点介绍,ZooInspector和taoKeeper. 1.Zookeeper的下载和安装 | 集群快速搭建 ...

  6. 基于SpringBoot实现的jvm远程监工图形化工具

    项目介绍 基于SpringBoot2.0 实现的jvm远程监工图形化工具,可以同时监控多个web应用 该项目是借鉴另个一开源项目 ( JavaMonitor) gitee.com/zyzpp/Java ...

  7. 基于SpringBoot2.0 实现的jvm远程监工图形化工具

    项目介绍 基于SpringBoot2.0 实现的jvm远程监工图形化工具,可以同时监控多个web应用 该项目是借鉴另个一开源项目 ( JavaMonitor) https://gitee.com/zy ...

  8. Docker 图形化页面管理工具使用

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 来源:https://my.oschina.net/u/2 ...

  9. 介绍 9 款 MySQL 常见的图形化工具,第三款我用了 10 年

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 来源:狂野小青年 blog.csdn.net/veloi/arti ...

  10. kvm虚拟化框架结构层次梳理及图形化的使用

    关于kvm知识做一次简单梳理回顾,首先了解kvm是什么? kvm的全称是Kernel-based Virtual Machine,从字面意思理解是基于kernel内核的虚拟机,其实是Linux内核模块 ...

最新文章

  1. 添加softmax层_PyTorch入门之100行代码实现softmax回归分类
  2. centos7.8中源码编译安装redis
  3. phpcms 文本溢出(······省略号)组合处理 - 代码篇
  4. Windows Live Messenger 2011,离线安装、多开、去广告……
  5. java精确度_java的数值精度问题 | 学步园
  6. 【java基础知识】设置表格内容居中显示,表格字体大小调整,表格列宽调整
  7. springboot+poi导出excel
  8. KELL代码加速度传感器计算角度
  9. php 后台运行,php程序后台运行的实现方法
  10. matlab 线性规划 单纯形法
  11. visual studio 提高速度的选项
  12. 玩转Reactjs第三篇-组件(模式stateprops)
  13. Bootstrap设计可响应式的移动网页
  14. Python是如何将“中文”转“拼音”的?
  15. 【转】Hadoop学习路线图
  16. 打造有企业特色的ERP
  17. 时间序列分析中的 statsmodels.tsa.arima_model被抛弃了,如何解决?
  18. 人脸检测颜值软件_百度AI人脸识别测颜值源码
  19. 计算机基础考试题(答案在最后)
  20. 【PLC】Q02HCPU USB驱动安装

热门文章

  1. ati开源驱动_ATI Radeon 9800 Vista驱动程序-Flash和Windows视频停止或卡顿
  2. 详解sqlserver 执行计划
  3. python 文件转base64
  4. 威伦触摸屏脚本,宏指令
  5. Java web简单注册和登陆项目案例
  6. css 使用本地字体
  7. JAVA中读取配置文件以及修改配置文件
  8. MacOS Big Sur 11.2.2 (20D80) With and OC 0.6.7 原版DMG黑苹果镜像
  9. 库论计量计算电池容量
  10. 12864 C语言程序 带详细注解