java开发人员肯定知道jdk的bin目录中有java.exe javac.exe这两个命令行工具,但并非所有程序员都了解过jdk的bin目录之中其他命令行的作用。
jdk的工具,体积都比较小,这些命令行工具大多是jdk/lib/tools.jar类库的一层薄包装而已。他们的主要功能代码在tools类库中实现。
jdk开发团队选择采用java代码来实现这些监测工具是有特别用意的。当程序部署到生产环境后,无论直接接触物理服务器还是远程到服务器都可能受到限制。借助tools.jar类库里面的接口,我们可以直接在应用程序中实现强大的监控分析功能。
名称       主要作用
jps        JVM Process Status Tool  显示指定系统内所有的hotspot虚拟机进程
jstat      JVM Statistic Monitoring Tool 用于收集HotSpot虚拟机各方面的运行数据
jinfo      Configuration Info for Java  显示虚拟机配置信息
jmap       Memory Map for Java  生产虚拟机的内存转储快照(heapdump文件)
jhat       JVM Heap  Dump Browser 用于分析heapdump文件,它会建立一个HTTP/HTML服务器,让用户可以再浏览器上查看分析结果
jstack     Stack Trace for  Java  显示虚拟机线程快照

jps:虚拟机进程状况工具
jps [options]  [hostid]
jps -q  只输出LVMID 省略主类的名称
jps -m  输出虚拟机进程启动时传递诶主类main()函数的参数
jps -l  输出主类的全面,如果进程执行的jar包,输出jar路径
jps -v  输出虚拟机进程启动时jvm参数

jstat:虚拟机统计信息监视工具
jstat用于监视虚拟机各种运行状态信息的命令行工具。它可以显示本地或远程虚拟机进程中的类装载、内存、垃圾收集、JIT编译等运行数据,在没有gui图像界面,只提供纯文本控制台环境的服务器上,它将是运行期定位虚拟机性能问题的首选项。
jstat命令格式为:
jstat [option vmid [interval[s|ms] [count]]]
 -class 监视类装载、卸载数量、总空间以及类装载所消耗的时间
 -gc 监视java堆状况,包括eden区、两个survivor区、老年代、永久代等的容量、已用空间、GC时间合计等信息
 -gccapacity监视内容与-gc基本相同,但输出主要关注java堆各个区域使用到的最大、最小空间
 -gcutil 监视内容与-gc基本相同,但输出主要关注已使用空间占总空间的百分比
 -gccause 与-gcutil功能一样,但会额外输出导致上一次gc产生的原因
 -gcnew监视新生代GC状况
 -gcnewcapacity 监视内容与-gcold基本相同,输出主要关注使用到的最大、最小空间
 -gcpermcapacity输出永久代使用到的最大、最小空间
 -compiler输出JIT编译过的方法、耗时等信息
 -printcompilation输出已经被JIT编译过的方法

JDK的可视化工具
 JDK中除了提供大量的命令行工具外,还有两个功能强大的可视化工具:JConsole和VisualVM,这两个工具是JDK的正式成员。
 JConsole java监视与管理控制台 bin\jconsole.exe
 VisualVM多合一故障处理工具 bin\jvisualvm.exe

相关性能检测工具的介绍网址

http://blog.sina.com.cn/s/blog_62d0d67b0100uekn.html
http://blog.csdn.net/chendc201/article/details/22905503

http://www.cnblogs.com/zhenjing/archive/2013/02/18/java_debug.html

http://developer.51cto.com/art/201204/327130.htm

http://blog.sina.com.cn/s/blog_62d0d67b0100uekn.htm

jvm虚拟机性能监控与故障处理工具的更多相关文章

  1. 《深入理解Java虚拟机》(四)虚拟机性能监控与故障处理工具

    虚拟机性能监控与故障处理工具 详解 4.1 概述 本文参考的是周志明的 <深入理解Java虚拟机> 第四章 ,为了整理思路,简单记录一下,方便后期查阅. JDK本身提供了很多方便的JVM性 ...

  2. JYM虚拟机性能监控与故障处理工具

    虚拟机性能监控与故障处理工具 一.jps:虚拟机进程状况工具 常用指令 二.jstat:虚拟机统计信息监视工具 常用指令 三.jinfo:配置信息工具 四.jmap:Java内存映像工具 常用指令 五 ...

  3. JVM(4) 虚拟机性能监控与故障处理工具

    1. Sun JDK 监控和故障处理工具 1)jps:JVM process Status Tool,显示指定系统内所有的HotSpot虚拟机进程.可以列出正在运行的虚拟机进程,并显示虚拟机执行主类( ...

  4. 深入理解JVM(③)虚拟机性能监控、故障处理工具

    前言 JDK的bin目录中有一系列的小工具,除了java.exe.javac.exe这两个编译和运行Java程序外,还有打包.部署.签名.调试.监控.运维等各种场景都会用到这些小工具. 这些工具根据软 ...

  5. 《深入理解Java虚拟机》虚拟机性能监控与故障处理工具

    上节学习回顾 从课本章节划分,<垃圾收集器>和<内存分配策略>这两篇随笔同属一章节,主要是从理论+实验的手段来讲解JVM的内存处理机制.好让我们对JVM运行机制有一个良好的概念 ...

  6. Java虚拟机8:虚拟机性能监控与故障处理工具

    前言 定位系统问题的时候,知识.经验是基础,数据是依据,工具是运用知识处理数据的手段.这里说的数据包括:运行日志.异常堆栈.GC日志.线程快照.堆转储快照等.经常使用适当的虚拟机监控和分析的工具可以加 ...

  7. 《深入理解Java虚拟机》-----第4章 虚拟机性能监控与故障处理工具

    理论总是作为指导实践的工具,能把这些知识应用到实际工作中才是 我们的最终目的. 给一个系统定位问题的时候,知识.经验是关键基础,数据是依据,工具是运用知识处理数据的手段.这里说的数据包括:运行日志.异 ...

  8. Java虚拟机12:虚拟机性能监控与故障处理工具

    前言 定位系统问题的时候,知识.经验是基础,数据是依据,工具是运用知识处理数据的手段.这里说的数据包括:运行日志.异常堆栈.GC日志.线程快照.堆转储快照等.经常使用适当的虚拟机监控和分析的工具可以加 ...

  9. 《深入理解Java虚拟机》之(三、虚拟机性能监控与故障处理工具)

    一.JDK的命令行工具 1.jps:虚拟机进程状况工具 功能:可以列出正在运行的虚拟机进程,并显示虚拟机执行朱磊名称以及这些进程的本地虚拟机唯一ID. 2.jstat:虚拟机统计信息监控工具 Jsta ...

随机推荐

  1. 初试钓鱼工具Weeman+DNS欺骗的使用

    下午无聊再网上闲逛随意看了下,自己做了一次测试,目前最新的版本是1.6.Weeman是一款运行在Python环境下的钓鱼渗透测试工具 但这款工具简单易用,安装简单,可伪造HTML页面等等...网上看了 ...

  2. Android上的MVP:如何组织显示层的内容

    MVP(Model View Presenter)模式是著名的MVC(Model View Controller)模式的一个演化版本,目前它在Android应用开发中越来越重要了,大家也都在讨论关于M ...

  3. Android中View的绘制过程 onMeasure方法简述 附有自定义View例子

    Android中View的绘制过程 onMeasure方法简述 附有自定义View例子 Android中View的绘制过程 当Activity获得焦点时,它将被要求绘制自己的布局,Android fr ...

  4. Ida双开定位android so文件

    Ida双开定位的意思是先用ida静态分析so文件,然后再开一个ida动态调试so文件.因为在动态调试中ida并不会对整个动态加载的so文件进行详细的分析,所以很多函数并无法识别出来.比如静态分析中有很 ...

  5. 设计模式 之 装饰者(Decorator)模式

    装饰者模式(Decorator):动态地为一个对象添加一些额外的职责,若要扩展一个对象的功能,装饰者提供了比继承更有弹性的替代方案. 结构图: 抽象构件类(Component):给出一个抽象的接口,用 ...

  6. C#复习④

    C#复习④ 2016年6月16日 12:37 Main Classes and Structs 类和结构体 1.Contents of Classes 字段,常量,方法,构造函数,析构函数: 特性,事 ...

  7. 计算机网络和Internet之核心网络

    1.网状的路由器 路由器的链接组成了网络的核心. 任何一个路由器,或者某条线路挂掉,但是网络还是通的,这是internet的一个特性. data到底是怎么传输的? 1)circuit switchin ...

  8. android Gui系统之SurfaceFlinger(3)---SurfaceFlinger

    7.SurfaceFlinger SurfaceFlinger在前面的篇幅了,多有涉及. SurfaceFlinger是GUI刷新UI的核心,所以任何关于SurfaceFlinger的改进都会对and ...

  9. C#实现函数默认值和C#4.0实现默认值

    static void Main(string[] args) { SayHello(); SayHello("侯志强"); Console.ReadKey(); } C#.0实现 ...

  10. 安卓+servlet+MySql 查询+插入(汉字乱码解决)

    问题: 安卓程序,通过servlet连接MySQL数据库,并实现查询和插入(修改,删除类似). 其中遇到的最大的问题是:汉字乱码问题(查询条件有汉字乱码.servlet的汉字到数据乱码.安卓通过ser ...