jstsat(JVM Statistics Monitoring Tool)

  jstat用于监视虚拟机各种运行状态信息的命令工具。可以显示本地或者远程虚拟机进程中的类装载、内存、垃圾收集、JIT编译等运行数据。

  jstat 命令格式:

jstat [ option vmid [interval [s|ms] [count]] ]

命令格式中的VMID与LVMID,如果是本地虚拟机进程,VMID与LVMID是一致的,如果是远程虚拟机进程,那么VMID的格式应该是:

[protocol : ][//] lvmid [ @hostname [ :port ] / servername ]

interval 和 count 代表查询间隔和次数,如果缺省这两个参数,说明只查询一次。

  option 列表:

选项 作用
-class 监视类装载、卸载数量、总空间以及类装载所耗费的时间
-gc 监视java堆状况,包括Eden区、两个survivor区、老年代、永久代的容量、已用空间、GC时间合计等信息
-gccapacity 监视内容与 -gc 基本相同,但是输出主要关注Java堆各个区域使用到的最大、最小空间
-gcutil 监视内容与 -gc 基本相同,但是主要关注已使用空间占总空间的百分比
-gccause 与状况 -gcutil 功能一样,但是会额外输出导致上次gc产生的原因
-gcnew 监视新生代gc状况
-gcnewcapacity 监视内容与 -gcnew 基本相同,但是输出主要关注使用到的最大、最小空间
-gcold 监视老年代gc状况
-gcoldcapacity 监视内容与 -gcold 基本相同,但是输出主要关注使用到的最大、最小空间
-gcpermcapacity 输出永久代使用到的最大、最小空间
-compiler 输出 JIT 编译器编译过的方法、耗时等信息
-printcompilation 输出已经被 JIT 编译的方法

-gcutil 例子

 ~ jstat -gcutil 2861 1000 2
S0 S1 E O M CCS YGC YGCT FGC FGCT GCT
0.00 81.88 86.39 0.12 98.33 95.71 5 0.023 0 0.000 0.023
0.00 81.88 86.39 0.12 98.33 95.71 5 0.023 0 0.000 0.023

2861是改程序在虚拟机的vim(用jps查询),1000表示每隔一秒查询一次,2表示一共查询2次。

新生代中两个Survivor区(S0、S1,表示Survivor0、Survivor1)里面使用的情况分别是0.00%和81.88%,Eden区(E,表示Eden)使用了86.39%。老年代old(O表示)使用了0.12%。元空间(M,表示Matespace,jdk1.8用这个代替了jdk1.7之前的PermGen Space永久代)使用98.33,但是这个Matespace大小跟虚拟机内存大小无关,直接跟物理机内存大小有关。CCSC表示的是Klass Metaspace的已经被commit的内存。程序启动以来发生Minor GC(YGC表示Young GC)5次,总耗时 0.023秒(YGCT表示程序以来发生Young GC所以次数总消耗的时间);发生Full GC(FGC表示Full GC)0次,总耗时0秒(FGCT表示所有Full GC执行的所耗时间),所有GC总共耗时0.023秒(GCT表示所有GC包括minor GC和Full GC)。

jstat虚拟机统计信息监视工具的更多相关文章

  1. 【debug技巧】jstat:虚拟机统计信息监视器

    我们在日常开发时,难免会遇到一些没有内存泄漏等问题.有时,我们无法下载arthas等开源的诊断工具.这时候,我们就可以借助JDK自带的一些诊断工具. 首先我们可以使用jstat查看gc信息 字段含义 ...

  2. OstrichNet 简易统计信息收集工具

    Ostrich 是twitter用于监控服务器性能的一个scala库,项目地址https://github.com/twitter/ostrich, 主要功能是收集.展示统计信息, 同时也提供了关闭服 ...

  3. 深入理解Java虚拟机(五)——JDK故障处理工具

    进程状况工具:jps jps(JVM Process Status Tool) 作用 用于虚拟机中正在运行的所有进程. 显示虚拟机执行的主类名称以及这些进程的本地虚拟机唯一ID. 可以通过RMI协议查 ...

  4. 20个Linux系统监视工具

    需要监视Linux服务器的性能?试试这些内置的命令和一些附加的工具吧.大多数Linux发行版都集成了一些监视工具.这些工具可以获取有关系统活动的信息的详细指标.通过这些工具,你可以发现产生系统性能问题 ...

  5. Linux系统监视工具

    转自      http://bbs.51cto.com/thread-971896-1.html # 1: top – 查看活动进程的命令TOP工具能够实时显示系统中各个进程的资源占用状况.默认情况 ...

  6. JVM探秘:jstat查看JVM统计信息

    本系列笔记主要基于<深入理解Java虚拟机:JVM高级特性与最佳实践 第2版>,是这本书的读书笔记. jstat命令用来查看JVM统计信息,可以查看类加载信息.垃圾收集的信息.JIT编译信 ...

  7. oracle之 v$sql_monitor 监视正在运行的SQL语句的统计信息

    11g中引入了新的动态性能视图V$SQL_MONITOR,该视图用以显示Oracle监视的SQL语句信息.SQL监视会对那些并行执行或者消耗5秒以上cpu时间或I/O时间的SQL语句自动启动,同时在V ...

  8. Java虚拟机详解(七)------虚拟机监控和分析工具(1)——命令行

    通过前面的几篇博客,我们介绍了Java虚拟机的内存分配以及内存回收等理论知识,了解这些知识对于我们在实际生产环境中提高系统的运行效率是有很大的帮助的.但是话又说回来,在实际生产环境中,线上项目正在运行 ...

  9. [转]Oracle10g数据库自动诊断监视工具(ADDM)使用指南

    第一章 ADDM简介                 在Oracle9i及之前,DBA们已经拥有了很多很好用的性能分析工具,比如,tkprof.sql_trace.statspack.set even ...

随机推荐

  1. 基于 Lerna 管理 packages 的 Monorepo 项目最佳实践

    本文首发于 vivo互联网技术 微信公众号 https://mp.weixin.qq.com/s/NlOn7er0ixY1HO40dq5Gag作者:孔垂亮 目录 一.背景二.Monorepo vs M ...

  2. Codeforces 343D Water Tree

    题意简述 维护一棵树,支持以下操作: 0 v:将以v为跟的子树赋值为1 1 v:将v到根节点的路径赋值为0 2 v:询问v的值 题解思路 树剖+珂朵莉树 代码 #include <set> ...

  3. java秒杀系列(2)- 页面静态化技术

    前言 通过代码片段分别介绍服务端渲染.客户端渲染.对象缓存三种方式的写法. 代码片段仅供参考,具体实现需要根据业务场景自行适配,但思想都是一样. 一.服务端渲染方式 1.接口返回html页面的设置 @ ...

  4. 网编(小白心得osi七层协议)

    目录 1 C/S B/S架构 2网络通信原理 3osi七层协议 数据链路层 网络层 传输层 应用层 1 C/S B/S架构 ​ C:client端(客户端) ​ B:browse 浏览器 ​ S: s ...

  5. laravel为模型中所有查询统一添加WHERE条件

    在使用laravel开发web系统的过程,需要在model处为该模型统一添加一个条件或者多个条件,研究了一个laravel的模型类,发现model中有个方法是构建查询的,方法如下: /** * Reg ...

  6. 最小生成树详细讲解(一看就懂!) & kruskal算法

    0.前言 因为本人太蒟了 我现在连NOIP的初赛都在胆战心惊 并且我甚至连最小生成树都没有学过 所以这一篇博客一定是最详细的QAQ 哈哈 请您认真看完如果有疏漏之处敬请留言指正 感谢! Thanks♪ ...

  7. 线上ZK问题排查

    问题描述 测试环境ZK集群的三个节点中zk1状态虽然是follower,启动也能正常启动(通过telnet也能telnet 2181端口); 无法通过zk客户端去连接2181端口,状态一致是CONNE ...

  8. Java设计模式14:建造者模式

    什么是建造者模式 发现很多框架的源码使用了建造者模式,看了一下觉得挺实用的,就写篇文章学习一下,顺便分享给大家. 建造者模式是什么呢?用一句话概括就是建造者模式的目的是为了分离对象的属性与创建过程,是 ...

  9. spring中的事件 applicationevent 讲的确实不错(转)

    event,listener是observer模式一种体现,在spring 3.0.5中,已经可以使用annotation实现event和eventListner里. 我们以spring-webflo ...

  10. unity_小功能实现(碰撞检测)

    1.触发器Trigger:勾选IsTrigger属性 //当player刚进入触发区域的时刻发生触发检测,比如在靠近门的某个区域门一直处于开着状态 void OnTriggerEnter(Collid ...