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. 从零开始,做一个NodeJS博客(二):实现首页-加载文章列表和详情

    标签: NodeJS 0 这个伪系列的第二篇,不过和之前的几篇是同一天写的.三分钟热度貌似还没过. 1 静态资源代理 上一篇,我们是通过判断请求的路径来直接返回结果的.简单粗暴,缺点明显:如果url后 ...

  2. [javascript svg fill stroke stroke-width x y rect rx ry 属性讲解] svg fill stroke stroke-width rect 绘制具有圆角矩形属性讲解

    <!DOCTYPE html> <html lang='zh-cn'> <head> <title>Insert you title</title ...

  3. LayoutInflater的infalte()

    其中: resource:是布局文件ID root:是父ViewGroup对象, attachToRoot:是是否将“翻译”出来的View添加到上面的root中 root和attachToRoot是共 ...

  4. UISlider相关

    设置slider当前位置的图像 [slider setThumbImage:[UIImage imageNamed:@"dd.png"] forState:UIControlSta ...

  5. Android Actitity的生命周期

    新建项目,MainActivity代码如下: package com.wuyudong.lifecycle; import android.os.Bundle; import android.app. ...

  6. iOS6、7、8、9新特性汇总和适配说明

    iOS6新特性 一.关于内存警告 ios6中废除了viewDidUnload,viewWillUnload这两个系统回调,收到内存警告时在didReceiveMemoryWarning中进行相关的处理 ...

  7. 关于插件管理器Alcatraz

    如何安装插件管理器Alcatraz:去github下载一个Alcatraz安装包,然后运行一下. 会弹出 记得选择左边的Load Bundle 退出Xcode 重新运行一下就OK 了. 然后就可以看到 ...

  8. cocoapods遇到的问题 (pod: command not found的问题)

    在使用CocoaPod为项目添加第三方类库时,出现了-bash: pod: command not found的问题: 在网上看到了一位哥的方法:确实有效:

  9. Asp.net MVC的Model Binder工作流程以及扩展方法(2) - Binder Attribute

    上篇文章中分析了Custom Binder的弊端: 由于Custom Binder是和具体的类型相关,比如指定类型A由我们的Custom Binder解析,那么导致系统运行中的所有Action的访问参 ...

  10. 十五天精通WCF——第十一天 如何对wcf进行全程监控

    说点题外话,我们在玩asp.net的时候,都知道有一个叼毛玩意叫做“生命周期”,我们可以用httpmodule在先于页面的page_load中 做一些拦截,这样做的好处有很多,比如记录日志,参数过滤, ...