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. PDF.js 详情解说

    pdf.js资源下载 点我下载 自定义默认加载的pdf资源 在web/view.js中我们可以通过DEFAULT_URL设置默认加载的pdf.通过上面代码我们也可以看出来可以通过后缀名来指定加载的pd ...

  2. 60701BMP彩色图像转化为灰度及二值图像

    1 概述 多媒体技术是一门综合了多种学科的新技术,其涉及到计算机科学与技术.通信和网络技术.人工智能技术.微电子技术.数字信号处理.图形处 理技术.声像技术等诸多学科.许多新技术的不断出现和体验,带给 ...

  3. 容易上手搭建vue2.0开发环境

    第一步:安装node 前端开发框架和环境都是需要 Node.js ,先安装node.js开发环境,vue的运行是要依赖于node的npm的管理工具来实现,下载https://nodejs.org/en ...

  4. 走进JavaWeb技术世界5:初探Tomcat的HTTP请求过程

    初探Tomcat的HTTP请求过程 前言:1.作为Java开发人员,大多都对Tomcat不陌生,由Apache基金会提供技术支持与维护,因为其免费开源且易用,作为Web服务器深受市场欢迎,所以有必要对 ...

  5. C++7行代码实现求最大公约数

    最近在做奥赛题时碰到求最大公约数的问题,给出解决方案: int gcd(int a,int b){ int tmp = a%b; ){ return b; } else{ return gcd(b,t ...

  6. Redis 5.0.5集群搭建

    Redis 5.0.5集群搭建 一.概述 Redis3.0版本之后支持Cluster. 1.1.redis cluster的现状 目前redis支持的cluster特性: 1):节点自动发现 2):s ...

  7. 逆向破解之160个CrackMe —— 016

    CrackMe —— 016 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...

  8. reponse.addHeader中文名字乱码

  9. centos7搭建hadoop3.*.*系列

    最近搭建这个hadoop踩过不少坑,先是配置JDK搞错路径(普通用户和root用户下的路径不同),再就是hadoop版本不同导致的启动错误,网上找到的是hadoop2.*.*的版本,但是我安装的had ...

  10. IO核心子系统

    IO核心子系统 一.IO层次结构 IO实现普遍采用了层次式的结构.其基本思想与计算机网络中的层次结构相同:将系统IO的功能组织成一系列的层次,每一层完成整个系统功能的一个子集,其实现依赖于下层完成更原 ...