标签:water virtual pid 虚拟机 如何 回收 简单 语法 ima
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.
实例:
用以判断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后一定要跟参数。
Jstat用于监控基于HotSpot的JVM,对其堆的使用情况进行实时的命令行的统计,使用jstat我们可以对指定的JVM做如下监控:
查看新生代中Eden区及Survior区中容量及分配情况等
jstat工具特别强大,它有众多的可选项,通过提供多种不同的监控维度,使我们可以从不同的维度来了解到当前JVM堆的使用情况。详细查看堆内各个部分的使用量,使用的时候必须加上待统计的Java进程号,可选的不同维度参数以及可选的统计频率参数。
下面是jdk1.8支持的选项:
下面是jdk1.8以下版本支持的选项:
jstat -gc -h5 -t 26316 1s 20
-gc 选项
-h5 每隔5行显示一下表头
-t 显示从虚拟机启动在当前时间的时间间隔 单位:秒
26536 线程id
1s 1秒显示一次
20 总共显示20次
实名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(十四)
标签:water virtual pid 虚拟机 如何 回收 简单 语法 ima
原文地址:https://www.cnblogs.com/zhulibin2012/p/8996185.html