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. 规划在sharepoint中使用安全组

    简介 如果将权限级别分配给组而非单个用户,那么管理 SharePoint 网站用户其实很简单.SharePoint 组是一组单独的用户,它还可以包含 Active Directory 组.在 Acti ...

  2. ubuntu环境变量

    在Ubuntu中有如下几个文件可以设置环境变量1./etc/profile:在登录时,操作系统定制用户环境时使用的第一个文件,此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.2. ...

  3. NSJSONSerialization

    /*     总结:   json格式的读写: 解析: data =   NSData  dataWithContentsOfUrl:XXX id obj  =  [ NSJsonSerializat ...

  4. 【代码笔记】iOS-点击出现选择框

    一,效果图. 二,工程图. 三,代码. RootViewController.h #import <UIKit/UIKit.h> @interface RootViewController ...

  5. NSString方法与NSMutableString方法

    NSString方法+(id) stringWithContentsOfFile:path encoding:enc error:err创建一个新字符串并将其设置为path指定的文件的内容,使用字符编 ...

  6. iOS--通讯录(UITableViewController)

    本文主要实现通讯录的部分功能(分组名.索引.分组的组名)等等功能: 废话不多说了,先上效果图: 在工程中需要导入一个plist文件,文件图如图: 工程目录文件如图: 工程程序如图所示: RootTab ...

  7. C# sql语句拼接时 like情况的防sql注入的用法

    今天下午同事问我一个比较基础的问题,在拼接sql语句的时候,如果遇到Like的情况该怎么办. 我原来的写法就是简单的拼接字符串,后来同事问我如果遇到sql注入怎么办.我想了下,这确实是个问题. 刚在网 ...

  8. CVEH项目观察与思考

    2013-07-01 项目进展: 从启动至今已有三个星期,但是进展甚慢,取得的进展有: A. 封装成库,和HB调用库的接口有些进展,但进未完成 B. 整个框架,类视图,调用视图,只有两三层的进展: C ...

  9. 编写Java应用程序。首先,定义一个时钟类——Clock,它包括三个int型 成员变量分别表示时、分、秒,一个构造方法用于对三个成员变量(时、分、秒) 进行初始化,还有一个成员方法show()用于显示时钟对象的时间。其次,再定义 一个主类——TestClass,在主类的main方法中创建多个时钟类的对象,使用这 些对象调用方法show()来显示时钟的时间。

    package com.hanqi.test; public class Clock { int hh; int mm; int ss; String time; Clock(int h,int m, ...

  10. SQL Server 2008 R2——VC++ ADO 操作 存储过程 向datetime类型参数传入空值

    ==================================声明================================== 本文原创,转载在正文中显要的注明作者和出处,并保证文章的完 ...