JVM监控命令,常用

转载 2013年12月03日 11:51:10

常用工具介绍:jinfo jmap jstack jstat

jinfo 

  • 可以从一个给定的java进程或core文件或远程debug服务器上获取java配置信息。包括java系统属性及JVM参数(command line flags)。注意在jvm启动参数中没有配置的参数也可使用jinfo –flag xxx pid输出默认值(很有用,但貌似一些简写的参数查不出来)。
  • 可以修改运行时的java 进程的opts。
  • 只有solaris和linux的JDK版本里有。
  • 使用方式可使用jinfo –h 查询。

jmap

       观察运行中的jvm物理内存的占用情况。

       如果连用SHELL jmap -histo pid>a.log可以将其保存到文本中去,在一段时间后,使用文本对比工具,可以对比出GC回收了哪些对象。

       参数很简单,直接查看jmap -h

       举例:

jmap -heap pid

jmap -dump:format=b,file=heap.hprof <pid>

 
dump文件可以通过MemoryAnalyzer分析查看.网址:http://www.eclipse.org/mat/,可以查看dump时对象数量,内存占用,线程情况等。

jstack

       观察jvm中当前所有线程的运行情况和线程当前状态

       如果java程序崩溃生成core文件,jstack工具可以用来获得core文件的java stack和native stack的信息,从而可以轻松地知道java程序是如何崩溃和在程序何处发生问题。另外,jstack工具还可以附属到正在运行的java程序中,看到当时运行的java程序的java stack和native stack的信息, 如果现在运行的java程序呈现hung的状态,jstack是非常有用的。目前只有在Solaris和Linux的JDK版本里面才有。

       参数很简单,直接查看jstack -h

       举例:

jstack pid

jstat

       JVM监测工具(Java Virtual Machine Statistics Monitoring Tool)。利用了JVM内建的指令对Java应用程序的资源和性能进行实时的命令行的监控,包括各种堆和非堆的大小及其内存使用量、classloader、compiler、垃圾回收状况等。

举例:

jstat –printcompilation -h10 3024 250 600
     每250毫秒打印一次,一共打印600次 每隔10行显示一次head
语法结构:
Usage: jstat -help|-options
jstat -<option> [-t] [-h<lines>] <vmid> [<interval> [<count>]]

参数介绍:

  • -h n 每隔几行输出标题
  • vmid VM的进程号,即当前运行的java进程号
  • -t 在第一列显示自JVM启动以来的时间戳
  • -J 修改java进程的参数。类似jinfo -flag <name>=<value>。例如-J-Xms48m 设置初始堆为48M。详见这里。这个参数挺有用的,可以在运行中调整参数以方便测试、监测。
  • -option option为要检测的参数。参数列表可通过jstat –options 获取。下面将分别介绍每个参数及输出字段的含义。
class 统计class loader行为信息
compiler 统计编译行为信息
gc 统计jdk gc时heap信息
gccapacity 统计堆内存不同代的heap容量信息
gccause 统计gc的情况(同-gcutil)和引起gc的事件
gcnew 统计gc时新生代的信息(相比gcutil更详细)
gcnewcapacity 统计gc时新生代heap容量
gcold 统计gc时,老年区的情况
gcoldcapacity 统计gc时,老年区heap容量
gcpermcapacity 统计gc时,permanent区heap容量
gcutil 统计gc时,heap情况
printcompilation 统计编译行为信息

-class option:Class Loader Statistics

Column Description
Loaded Number of classes loaded.
Bytes Number of Kbytes loaded.
Unloaded Number of classes unloaded.
Bytes Number of Kbytes unloaded.
Time Time spent performing class load and unload operations.

-compiler:HotSpot Just-In-Time Compiler Statistics

Column Description
Compiled Number of compilation tasks performed.
Failed Number of compilation tasks that failed.
Invalid Number of compilation tasks that were invalidated.
Time Time spent performing compilation tasks.
FailedType Compile type of the last failed compilation.
FailedMethod Class name and method for the last failed compilation.

-gc Option:Garbage-collected heap statistics

Column Description
S0C Current survivor space 0 capacity (KB).
S1C Current survivor space 1 capacity (KB).
S0U Survivor space 0 utilization (KB).
S1U Survivor space 1 utilization (KB).
EC Current eden space capacity (KB).
EU Eden space utilization (KB).
OC Current old space capacity (KB).
OU Old space utilization (KB).
PC Current permanent space capacity (KB).
PU Permanent space utilization (KB).
YGC Number of young generation GC Events.
YGCT Young generation garbage collection time.
FGC Number of full GC events.
FGCT Full garbage collection time.
GCT Total garbage collection time.

-gccapacity Option:Memory Pool Generation and Space Capacities

Column Description
NGCMN Minimum new generation capacity (KB).
NGCMX Maximum new generation capacity (KB).
NGC Current new generation capacity (KB).
S0C Current survivor space 0 capacity (KB).
S1C Current survivor space 1 capacity (KB).
EC Current eden space capacity (KB).
OGCMN Minimum old generation capacity (KB).
OGCMX Maximum old generation capacity (KB).
OGC Current old generation capacity (KB).
OC Current old space capacity (KB).
PGCMN Minimum permanent generation capacity (KB).
PGCMX Maximum Permanent generation capacity (KB).
PGC Current Permanent generation capacity (KB).
PC Current Permanent space capacity (KB).
YGC Number of Young generation GC Events.
FGC Number of Full GC Events.

-gccause Option:Garbage Collection Statistics, Including GC Events

Column Description
LGCC Cause of last Garbage Collection.
GCC Cause of current Garbage Collection.

       前面的字段与gcutil相同.

-gcnew Option:New Generation Statistics

Column Description
S0C Current survivor space 0 capacity (KB).
S1C Current survivor space 1 capacity (KB).
S0U Survivor space 0 utilization (KB).
S1U Survivor space 1 utilization (KB).
TT Tenuring threshold.
MTT Maximum tenuring threshold.
DSS Desired survivor size (KB).
EC Current eden space capacity (KB).
EU Eden space utilization (KB).
YGC Number of young generation GC events.
YGCT Young generation garbage collection time.

-gcnewcapacity Option:New Generation Space Size Statistics

Column Description
NGCMN           
Minimum new generation capacity (KB). 
NGCMX     Maximum new generation capacity (KB).
NGC     Current new generation capacity (KB).
S0CMX Maximum survivor space 0 capacity (KB).
S0C Current survivor space 0 capacity (KB).
S1CMX Maximum survivor space 1 capacity (KB).
S1C Current survivor space 1 capacity (KB).
ECMX Maximum eden space capacity (KB).
EC Current eden space capacity (KB).
YGC Number of young generation GC events.
FGC Number of Full GC Events.

-gcold Option:Old and Permanent Generation Statistics

Column Description
PC Current permanent space capacity (KB).
PU Permanent space utilization (KB).
OC Current old space capacity (KB).
OU old space utilization (KB).
YGC Number of young generation GC events.
FGC Number of full GC events.
FGCT Full garbage collection time.
GCT Total garbage collection time.

-gcoldcapacity Option:Old Generation Statistics

Column Description
OGCMN Minimum old generation capacity (KB).
OGCMX Maximum old generation capacity (KB).
OGC Current old generation capacity (KB).
OC Current old space capacity (KB).
YGC Number of young generation GC events.
FGC Number of full GC events.
FGCT Full garbage collection time.
GCT Total garbage collection time.

-gcpermcapacity Option: Permanent Generation Statistics

Column Description
PGCMN Minimum permanent generation capacity (KB).
PGCMX Maximum permanent generation capacity (KB).
PGC Current permanent generation capacity (KB).
PC Current permanent space capacity (KB).
YGC Number of young generation GC events.
FGC Number of full GC events.
FGCT Full garbage collection time.
GCT Total garbage collection time.

-gcutil Option:Summary of Garbage Collection Statistics

Column Description
S0 Survivor space 0 utilization as a percentage of the space's current capacity.
S1 Survivor space 1 utilization as a percentage of the space's current capacity.
E Eden space utilization as a percentage of the space's current capacity.
O Old space utilization as a percentage of the space's current capacity.
P Permanent space utilization as a percentage of the space's current capacity.
YGC Number of young generation GC events.
YGCT Young generation garbage collection time.
FGC Number of full GC events.
FGCT Full garbage collection time.
GCT Total garbage collection time.

-printcompilation Option: HotSpot Compiler Method Statistics

Column Description
Compiled Number of compilation tasks performed.
Size Number of bytes of bytecode for the method.
Type Compilation type.
Method Class name and method name identifying the compiled method. Class name uses "/" instead of "." as namespace separator. Method name is the method within the given class. The format for these two fields is consistent with the HotSpot - XX:+PrintComplationoption.

JVM性能监控——命令行工具

重要的监控数据对于JVM的性能监控,主要注意以下一些参数,通过JVM自带的命令行工具,即可检测相关参数,从而找出系统或程序中存在的性能问题 当前使用的GC Java堆的大小,新生代和老年...
  • ElevenChanBJ
  • ElevenChanBJ
  • 2015年08月03日 21:14
  • 2049

JVM状态监控常用命令整理总结

java.lang.OutOfMemoryError: Java heap space这个错误表示JVM的新生代和老生代的内存不足。出现这个错误说明应用程序出现了内存溢出或者程序所需要的内存大于JVM...
  • yuhaibo6646737
  • yuhaibo6646737
  • 2017年02月07日 14:48
  • 788

JVM常用分析命令与工具

“报告连长:上周日投产的敌情侦测仪程序,昨晚一蟑螂进入系统摧毁了主程序导致DOWN机了。”上等兵火龙报告。 “,你们这群蠢蛋,吃啥啥不够,干啥啥不行,养你们不如养一帮娘们,敌人这些天对我们钓鱼岛虎视...
  • xufeipeng
  • xufeipeng
  • 2014年01月04日 12:38
  • 911

JVM监控工具--几种常用工具简介

JVM监控工具介绍 jdk中已提供了功能强大基于GUI界面的jvm监控工具,在jdk bin目录下可以看到,例如:jconsle、jvisualvm和jrmc……...
  • u012338364
  • u012338364
  • 2015年01月27日 16:15
  • 9475

知晓JVM系列(三) :常用的JVM监测工具

一、可视化监测工具       1.jvisualvm,是jdk自带的jvm性能监测工具。                          工具路径:jdk1.7.0_03\bin         ...
  • jeffsmish
  • jeffsmish
  • 2014年12月16日 09:52
  • 1579

tomcat的jvm centos和Windows监控使用方法

和zabbix监控jvm这篇文章一起操作 http://blog.csdn.net/qq_33588470/article/details/70800817 1.centos监控方法  下载jmx连...
  • qq_33588470
  • qq_33588470
  • 2017年04月26日 15:23
  • 299

JVM性能监控工具(一)-jdk命令行工具

概述当系统出bug需要定位问题的时候,知识、经验是关键基础,数据是依据,工具是运用知识处理数据的手段。这里所说的数据包括:运行日志,异常堆栈,GC日志,线程快照(threaddump/javacore...
  • FX_SKY
  • FX_SKY
  • 2016年05月19日 18:46
  • 2520

jvm 内存查看与分析工具

转自http://jameswxx.iteye.com/blog/731763      业界有很多强大的java profile的工具,比如Jporfiler,yourkit,这些收费的东西我...
  • yaowj2
  • yaowj2
  • 2011年12月28日 09:37
  • 23939

运维-JVM监控之内存泄漏

1、为什么会发生内存泄漏? 如果对象一直被应用,jvm无法对其进行回收,创建新的对象时,无法从Heap中获取足够的内存分配给对象,这时候就会导致内存溢出。 出现内存泄露的地方,一般是不断的往容器中存放...
  • zdx_csdn
  • zdx_csdn
  • 2017年05月05日 16:48
  • 402

jvm常用命令

1、jps作用:显示系统中所有Hotspot虚拟机进程。 参数: -l :输出主类全名。 -v:输出虚拟机进程启动的jvm参数。 -m:输出启动时传递给main函数的参数。 -q:只输出LVMID,...
  • pistolove
  • pistolove
  • 2016年07月26日 09:21
  • 2563
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JVM监控命令,常用
举报原因:
原因补充:

(最多只允许输入30个字)