文档章节

Java虚拟机性能监控工具草览

狮城蜗牛
 狮城蜗牛
发布于 2017/04/25 02:01
字数 746
阅读 66
收藏 2

方法、套路、工具,都能提高生产力。做了一轮压测,顺道列列虚拟机的工具。

一、 Java虚拟机有哪些性能工具

我们按操作方式分为两类,有图形界面的和没图形界面的。

  • 1.没图形界面的

    • jstat(JVM Statistics Monitoring Tool): 虚拟机状态信息统计监视工具,(本次主要用他来输出gc信息了。)
    • jinfo(Configuration Info for Java): 查看调整虚拟机参数工具。
    • jps(JVM Process Status Tool): 虚拟机进程状况工具。
    • jmap(Memory Map for Java): 生成堆转储快照工具。
    • jstack(Stack Trace for Java): 堆栈跟踪工具。
  • 2.有图形界面的

    • VisualVM(All-in-one Java Troubleshooting Tool): 多合一监控和故障处理工具,最常用的Java性能工具(也是本次压测用的最多的工具)。
    • Jconsole(Java Monitoring and Management Console): Java监控管理工具。

二、 都是咋启动的,能干啥

  • jstat: 该工具是用来看虚拟机状态,主要是看堆状态。
    -> 启动方式: jstat -gcutil 2983 2000 10
    -> 参数含义: 监视Java堆状况,线程号,隔2000毫打一次,共打10次。
    -> 另外该工具还有其他很多功能,参 jstat -help。

  • jinfo: 该工具是用来实时的查看和调整虚拟机各项参数。
    -> 启动方式: jinfo -flag MaxPermSize 2983
    -> 参数含义: 查看PermSize大小,线程号
    -> 另外该工具还有其他很多功能,参 jinfo -help。

  • jps: 该工具可以列出虚拟机进程,以及主类名和主类ID,我们一般也会用PS来看。
    -> 启动方式: jps -l
    -> 参数含义: 输出主类全名或Jar路径。
    -> 另有 -q 输出本地线程ID,-m 输出main()函数参数,-v 输出虚拟机启动JVM参数。参 jstat -help。

  • jmap: 该工具是用来生成堆转储快照(heapdump)等功能。
    -> 启动方式: jmap -dump:format=b,file=filename.bin 2983
    -> 参数含义: 输出二进制format和什么文件名,线程号
    -> 另外该工具还有其他很多功能,参 jmap -help。

  • jstack: 该工具是用来生成当前线程快照。可以看看死锁、死循环、外部资源等待等问题。
    -> 启动方式: jstack -l 2983
    -> 参数含义: 显示堆栈以及关于锁的附加信息,线程号。
    -> 另有 -F 强行输出,-m 本地方法堆栈参数,参 jstack -help。

  • VisualVM: 目前最强大的运行监控和故障解决工具。
    -> 启动方式: jvisualvm
    -> 配置、环境、CPU、GC、堆、方法区、线程信息、堆转储、插件等。
    -> 功能比较强大和集中。通过下述JVM启动参数进行远程监控,在图形界面中添加远程机器即可。

        -Dcom.sun.management.jmxremote.port=1012    
        -Dcom.sun.management.jmxremote.ssl=false    
        -Dcom.sun.management.jmxremote.authenticate=false    
        -Djava.rmi.server.hostname=$HOST_ADDR   
    
  • Jconsole: 也是图形界面监控管理工具。
    -> 启动方式: jconsole
    -> 概述、内存、线程、类、VM摘要、MBean等。
    -> 大体上可以由VisualVM来解决,也有独到用处。

© 著作权归作者所有

狮城蜗牛

狮城蜗牛

粉丝 63
博文 7
码字总数 4832
作品 0
浦东
程序员
私信 提问
JVM学习总结五——性能监控及故障处理工具

之前扯了四篇理论,这一篇终于可以动动手了。本篇我们将介绍JVM常用的一些工具,这些工具将是我们监控JVM状态、处理故障和调优分析的利器。 不过在开始之前,我还是要先车扯两句:工具终归只...

oO脾气不坏Oo
2014/03/16
0
0
[Java学习探讨]为什么学Java虚拟机的Java程序员更值钱?

[Java学习探讨]为什么学Java虚拟机的Java程序员更值钱? 曾经的我经常害怕处理与JVM相关的异常,对JVM的配置参数也一无所知,那时候我天真地认为,JVM的出现本身就是想让程序员屏蔽实现细节,...

原创小博客
2018/07/19
0
0
深入理解JVM学习笔记(一、总览)

1、JVM历史 2、JVM内存结构 3、JVM垃圾回收机制 4、JVM性能监控工具 5、JVM性能调优案例时间 6、JVM类文件结构 7、JVM类加载机制 8、JVM字节码执行引擎 9、JVM虚拟机编译及其运行时优化 10、...

jintaohahahaha
2018/05/28
0
0
虚拟机学习之三:虚拟机性能监控与故障处理工具

1.JDK的命令行工具 jvm在jdk的bin目录下试下了很多监控分析jvm运行情况的命令行工具,这些工具都很小,大多数都是jdk/lib/tools.jar类库的薄封装。 1.1 jps -> 虚拟机进程状况工具 jps:虚拟...

贾峰uk
2018/12/20
0
0
深入理解JVM虚拟机12:JVM性能管理神器VisualVM介绍与实战

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/a724888/article/details/79220184 Java虚拟机性能管理神器 - VisualVM(1) 简介 - JVM轻量级监控分析神器 ...

你的猫大哥
2018/01/31
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring系列教程八: Spring实现事务的两种方式

一、 Spring事务概念: 事务是一系列的动作,它们综合在一起才是一个完整的工作单元,这些动作必须全部完成,如果有一个失败的话,那么事务就会回滚到最开始的状态,仿佛什么都没发生过一样。...

我叫小糖主
44分钟前
4
0
CentOS 的基本使用

1. 使用 sudo 命令, 可以以 root 身份执行命令, 必须要在 /etc/sudoers 中定义普通用户 2. 设置 阿里云 yum 镜像, 参考 https://opsx.alibaba.com/mirror # 备份mv /etc/yum.repos.d/CentO...

北漂的我
昨天
2
0
Proxmox VE技巧 移除PVE “没有有效订阅” 的弹窗提示

登陆的时候提示没有有效的订阅You do not have a valid subscription for this server. Please visit www.proxmox.com to get a list of available options. 用的是免费版的,所以每次都提示......

以谁为师
昨天
3
0
Java设计模式之外观模式(门面模式)

什么是外观模式   外观模式(Facade),他隐藏了系统的复杂性,并向客户端提供了一个可以访问系统的接口。这种类型的设计模式属于结构性模式。为子系统中的一组接口提供了一个统一的访问接口...

须臾之余
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部