jps-java process status

jps类似于linux的ps命令,用于查看进程.

JPS 名称: jps - Java Virtual Machine Process Status Tool

命令用法: jps [options] [hostid]

options:命令选项,用来对输出格式进行控制

hostid:指定特定主机,可以是ip地址和域名, 也可以指定具体协议,端口。

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

功能描述: jps是用于查看有权访问的hotspot虚拟机的进程. 当未指定hostid时,默认查看本机jvm进程,否者查看指定的hostid机器上的jvm进程,此时hostid所指机器必须开启jstatd服务。 jps可以列出jvm进程lvmid,主类类名,main函数参数, jvm参数,jar名称等信息。

命令选项及功能:

没添加option的时候,默认列出VM标示符号和简单的class或jar名称.如下:

-p  :仅仅显示VM 标示,不显示jar,class, main参数等信息.

-m:输出主函数传入的参数. 下的hello 就是在执行程序时从命令行输入的参数

-l: 输出应用程序主类完整package名称或jar完整名称.

-v: 列出jvm参数, -Xms20m -Xmx50m是启动程序指定的jvm参数

-V: 输出通过.hotsportrc或-XX:Flags=<filename>指定的jvm参数

-Joption:传递参数到javac 调用的java lancher.

实例:

jstat

用以判断JVM是否存在内存问题呢?如何判断JVM垃圾回收是否正常?一般的top指令基本上满足不了这样的需求,因为它主要监控的是总体的系统资源,很难定位到java应用程序。

Jstat是JDK自带的一个轻量级小工具。全称“Java Virtual Machine statistics monitoring tool”,它位于java的bin目录下,主要利用JVM内建的指令对Java应用程序的资源和性能进行实时的命令行的监控,包括了对Heap size和垃圾回收状况的监控。可见,Jstat是轻量级的、专门针对JVM的工具,非常适用。由于JVM内存设置较大,图中百分比变化不太明显

一个极强的监视VM内存工具。可以用来监视VM内存内的各种堆和非堆的大小及其内存使用量。

jstat工具特别强大,有众多的可选项,详细查看堆内各个部分的使用量,以及加载类的数量。使用时,需加上查看进程的进程id,和所选参数。

执行:cd $JAVA_HOME/bin中执行jstat,注意jstat后一定要跟参数。

1.介绍

Jstat用于监控基于HotSpot的JVM,对其堆的使用情况进行实时的命令行的统计,使用jstat我们可以对指定的JVM做如下监控:

  • 类的加载及卸载情况
  • 查看新生代、老生代及metaSpace的容量及使用情况
  • 查看新生代、老生代及metaSpace的垃圾收集情况,包括垃圾回收的次数及垃圾回收所占用的时间
  • 查看新生代中Eden区及Survior区中容量及分配情况等

    jstat工具特别强大,它有众多的可选项,通过提供多种不同的监控维度,使我们可以从不同的维度来了解到当前JVM堆的使用情况。详细查看堆内各个部分的使用量,使用的时候必须加上待统计的Java进程号,可选的不同维度参数以及可选的统计频率参数。

  • 2.语法

    下面是jdk1.8支持的选项: 

    下面是jdk1.8以下版本支持的选项:

    3示例

    jstat  -gc -h5  -t 26316 1s 20
    • 1
    • 2

    -gc 选项 
    -h5 每隔5行显示一下表头 
    -t 显示从虚拟机启动在当前时间的时间间隔 单位:秒 
    26536 线程id 
    1s 1秒显示一次 
    20 总共显示20次

    4表头讲解

    实名jdk1.7与jdk1.8就差了一个metaspace区域,其它都一样。

    表头 描述 jdk 版本
    S0C 新生代中Survivor space中S0当前容量的大小(KB)  
    S1C 新生代中Survivor space中S1当前容量的大小(KB)  
    S0U 新生代中Survivor space中S0容量使用的大小(KB)  
    S1U 新生代中Survivor space中S1容量使用的大小(KB)  
    EC Eden space当前容量的大小(KB)  
    EU Eden space容量使用的大小(KB)  
    OC Old space当前容量的大小(KB)  
    OU Old space使用容量的大小(KB)  
    PC Permanent space当前容量的大小(KB) 1.8以下
    PU Permanent space使用容量的大小(KB) 1.8以下
    MC MeteSpace 当前容量的大小(KB) 1.8及以上
    MU MeteSpace 使用容量的大小(KB) 1.8及以上
    CCSC 压缩类空间大小(KB) 1.8及以上
    CCSU 压缩类空间大小(KB) 1.8及以上
    YGC 从应用程序启动到采样时发生 Young GC 的次数  
    YGCT 从应用程序启动到采样时 Young GC 所用的时间(秒)  
    FGC 从应用程序启动到采样时发生 Full GC 的次数  
    FGCT 从应用程序启动到采样时 Full GC 所用的时间(秒)  
    GCT 从jvm启动到采样时用于垃圾回收的总时间(单位秒),它的值等于YGC+FGC  
     

深入理解java虚拟机---虚拟机工具jps与jstat(十四)的更多相关文章

  1. Java 问题定位工具 -- jps

    概览 最近老大布置的任务就是质量加固,偶然看到了一些对于 Java 性能分析的介绍,因此,有了此篇学习笔记. JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jCons ...

  2. java性能优化常用工具jps、jstat、jinfo

    jps:虚拟机进程状况工具 jps可以用来查看虚拟机进程,基本等同于ps -ef|grep java #查看jps的使用文档 [root@localhost script]# jps -help us ...

  3. JDK自带VM分析工具jps,jstat,jmap,jconsole

    一.概述 SUN 的JDK中的几个工具,非常好用.秉承着有免费,不用商用的原则.以下简单介绍一下这几种工具.(注:本文章下的所有工具都存在JDK5.0以上版本的工具集里,同javac一样,不须特意安装 ...

  4. Java命令使用 jmap,jps,jstack,jstat,jhat,jinfo

    Jmap:可以获得运行中的jvm的堆的快照,从而可以离线分析堆,以检查内存泄漏,检查一些严重影响性能的大对象的创建,检查系统中什么对象最多,各种对象所占内存的大小等等 Jmap是一个可以输出所有内存中 ...

  5. Java命令行实用工具jps和jstat

    在Linux或其他UNIX和类UNIX环境下,ps命令想必大家都不陌生,我相信也有不少同学写过 ps aux | grep java | grep -v grep | awk '{print $2}' ...

  6. Java命令行实用工具jps和jstat 专题

    在Linux或其他UNIX和类UNIX环境下,ps命令想必大家都不陌生,我相信也有不少同学写过 ps aux | grep java | grep -v grep | awk '{print $2}' ...

  7. java自带工具-jps、jinfo、jstack、jstat、jmap

    掌握java自带的这些监控工具,有助与我们很好的分析问题和jvm性能调优秀.收集了些网上整理很好的文章. Java监控工具.调优.调试辅助函数 Java自带的GUI性能监控工具Jconsole以及Ji ...

  8. JDK自带工具jps,jstat,jmap,jconsole使用

    jps 与ps命令类似: ps -ef|grep java 用来显示本地的java进程,查看本地执行着几个java应用,并显示进程号. [root@SE43 ~]# jps //仅仅显示进程号 238 ...

  9. 基于Java+Selenium的WebUI自动化测试框架(十四)-----使用TestNG的Sample

    到目前为止,我们所写的东西,都是集中在如何使用Selenium和Java来定位和读取元素.那么,到底如何具体开展测试,如何实现参数化,如何实现判定呢?下面,我们来看看Java应用程序的测试框架吧. 当 ...

随机推荐

  1. 使用spss做方差分析

    还记得上学那会老师专门敲了黑板,强调方差分析很重要..单因素方差分析(Analysis of Variance, ANOVA),如果变量多,就是多因素方差分析,还需要考虑到多重共线性, 也就是线性代数 ...

  2. 雷林鹏分享:C# 常量

    C# 常量 常量是固定值,程序执行期间不会改变.常量可以是任何基本数据类型,比如整数常量.浮点常量.字符常量或者字符串常量,还有枚举常量. 常量可以被当作常规的变量,只是它们的值在定义后不能被修改. ...

  3. 【转】 聚类算法-Kmeans算法的简单实现

    1. 聚类与分类的区别: 首先要来了解的一个概念就是聚类,简单地说就是把相似的东西分到一组,同 Classification (分类)不同,对于一个 classifier ,通常需要你告诉它“这个东西 ...

  4. linux 如何释放缓存

    操作: 同步 sync 释放所有缓存 echo 3 > /proc/sys/vm/drop_caches 原理: sync 将所有未写的系统缓冲区写到磁盘中,包含已修改的 i-node.已延迟的 ...

  5. ADO.NET Entity Framework学习笔记(3)ObjectContext

    ADO.NET Entity Framework学习笔记(3)ObjectContext对象[转]   说明 ObjectContext提供了管理数据的功能 Context操作数据 AddObject ...

  6. Tensorflow手写数字识别---MNIST

    MNIST数据集:包含数字0-9的灰度图, 图片size为28x28.训练样本:55000,测试样本:10000,验证集:5000

  7. Xmanager Power Suit 6.0.0009 最新版注册激活

    Xmanager Power Suit 6.0.0009 最新版注册激活 手工操作步骤Xmanger Power Suit 官方 其实有两种 .exe 文件,一个是用于试用的,在注册的时候不能直接输入 ...

  8. SQL SERVER 字符拆分列为多行

    注:先学习sql server里的递归CTE. 假设有兴趣表Hobbys Name Hobby 小张 篮球,足球,羽毛球 Name Hobby 小张 篮球 小张 足球 小张 羽毛球 采用[递归cte] ...

  9. C# string 字符串详解 恒定 驻留

    string是一种很特殊的数据类型,它既是基元类型又是引用类型,在编译以及运行时,.Net都对它做了一些优化工作,正式这些优化工作有时会迷惑编程人员,使string看起来难以琢磨.这篇文章共四节,来讲 ...

  10. BigDecimal 类型数据比较大小

    public static void main( String[] args ) { BigDecimal a=new BigDecimal(-1); if(a.compareTo(BigDecima ...