JAVA性能问题排查-JSTAT

使用方法

显示进程中的类装载、内存、垃圾收集、JIT编译等运行数据

Usage: jstat -help|-options

jstat -<option> [-t] [-h<lines>] <vmid> [<interval> [<count>]]

 

Definitions:

<option>      An option reported by the -options option

<vmid>        Virtual Machine Identifier. A vmid takes the following form:

<lvmid>[@<hostname>[:<port>]]

Where <lvmid> is the local vm identifier for the target

Java virtual machine, typically a process id; <hostname> is

the name of the host running the target Java virtual machine;

and <port> is the port number for the rmiregistry on the

target host. See the jvmstat documentation for a more complete

description of the Virtual Machine Identifier.

<lines>       Number of samples between header lines.

<interval>    Sampling interval. The following forms are allowed:

<n>[“ms”|”s”]

Where <n> is an integer and the suffix specifies the units as

milliseconds(“ms”) or seconds(“s”). The default units are “ms”.

<count>       Number of samples to take before terminating.

-J<flag>      Pass <flag> directly to the runtime system.

示例

查询进程

jps -mlvV
23551 com.ccb.jfserver.JFServer -Xms256m -Xmx1024m -DFSERVER_PID
28787 weblogic.Server -Xms256m -Xmx512m -XX:MaxPermSize=256m -Dweblogic.Name=p2_mSrv1 -Djava.security.auth.login.config=/home/ap/xdgl/domains/xdglAppDomain/jaas.conf -Djava.security.policy=/home/mw/weblogic/wls1036/wlserver_10.3/server/lib/weblogic.policy -Dweblogic.ProductionModeEnabled=true -Dweblogic.system.BootIdentityFile=/home/ap/xdgl/domains/xdglAppDomain/servers/p2_mSrv1/data/nodemanager/boot.properties -Dweblogic.nodemanager.ServiceEnabled=true -Dweblogic.security.SSL.ignoreHostnameVerification=false -Dweblogic.ReverseDNSAllowed=false -da -Dplatform.home=/home/mw/weblogic/wls1036/wlserver_10.3 -Dwls.home=/home/mw/weblogic/wls1036/wlserver_10.3/server -Dweblogic.home=/home/mw/weblogic/wls1036/wlserver_10.3/server -Dweblogic.management.discover=false -Dweblogic.management.server=http://128.196.100.116:7001 -Dwlw.iterativeDev=false -Dwlw.testConsole=false -Dwlw.logErrorsToConsole=false -Dweblogic.ext.dirs=/home/mw/weblogic/wls1036/patch_wls1036/profiles/default/sysext_manifest_classpath:/home/mw/weblogic/wls1036/patch_ocp371
22392 weblogic.Server -XX:MaxPermSize=256M -Xms256M -Xmx512M -XX:+HeapDumpOnOutOfMemoryError -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -Xloggc:/home/ap/xdgl/domains/xdglAppDomain/servers/AdminServer/logs/gc_AdminServer.log -Dweblogic.Name=AdminServer -Djava.security.auth.login.config=/home/ap/xdgl/domains/xdglAppDomain/jaas.conf -Djava.security.policy=/home/mw/weblogic/wls1036/wlserver_10.3/server/lib/weblogic.policy -Dweblogic.ProductionModeEnabled=true -Dweblogic.system.BootIdentityFile=/home/ap/xdgl/domains/xdglAppDomain/servers/AdminServer/security/boot.properties -Dweblogic.nodemanager.ServiceEnabled=true -Dweblogic.threadpool.MinPoolSize=40 -Dweblogic.threadpool.MaxPoolSize=200 -da -Dplatform.home=/home/mw/weblogic/wls1036/wlserver_10.3 -Dwls.home=/home/mw/weblogic/wls1036/wlserver_10.3/server -Dweblogic.home=/home/mw/weblogic/wls1036/wlserver_10.3/server -Dweblogic.management.discover=true -Dwlw.iterativeDev=false -Dwlw.testConsole=false -Dwlw.logErrorsToConsole=false -Dweblogic.ext.dirs=/home/mw/weblogic/wls10
9534 /home/ap/nas/shell/unload/NftStartByJava.jar /home/ap/nas/shell/unload/2017062115561498031784.CSV /home/ap/share/file/input/resp/2017062115561498031784.CSV 1 G12C S 0    
8196 weblogic.NodeManager -v -Xms32m -Xmx200m -XX:MaxPermSize=128m -Dcoherence.home=/home/mw/weblogic/wls1036/coherence_3.7 -Dbea.home=/home/mw/weblogic/wls1036 -Xverify:none -Djava.security.policy=/home/mw/weblogic/wls1036/wlserver_10.3/server/lib/weblogic.policy -Dweblogic.nodemanager.javaHome=/usr/local/java/jdk64
4086 weblogic.Server -XX:MaxPermSize=512M -Xms2048M -Xmx2048M -XX:+HeapDumpOnOutOfMemoryError -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:/home/ap/xdgl/domains/xdglAppDomain/servers/mSrv1/logs/gc_mSrv1.log -Dweblogic.Name=mSrv1 -Djava.security.auth.login.config=/home/ap/xdgl/domains/xdglAppDomain/jaas.conf -Djava.security.policy=/home/mw/weblogic/wls1036/wlserver_10.3/server/lib/weblogic.policy -Dweblogic.ProductionModeEnabled=true -Dweblogic.system.BootIdentityFile=/home/ap/xdgl/domains/xdglAppDomain/servers/mSrv1/data/nodemanager/boot.properties -Dweblogic.nodemanager.ServiceEnabled=true -Dweblogic.security.SSL.ignoreHostnameVerification=false -Dweblogic.ReverseDNSAllowed=false -Dweblogic.threadpool.MinPoolSize=40 -Dweblogic.threadpool.MaxPoolSize=200 -da -Dplatform.home=/home/mw/weblogic/wls1036/wlserver_10.3 -Dwls.home=/home/mw/weblogic/wls1036/wlserver_10.3/server -Dweblogic.home=/home/mw/weblogic/wls1036/wlserver_10.3/server -Dweblogic.management.discover=false -Dweblogic.management.server=http://128.196.
10280 /home/ap/nas/shell/unload/NftStartByJava.jar /home/ap/nas/shell/unload/2017062116011498032107.CSV /home/ap/share/file/input/resp/2017062116011498032107.CSV 1 G12C S 0    
29797 /home/ap/nas/shell/unload/NftStartByJava.jar /home/ap/nas/shell/unload/2017062114011498024906.CSV /home/ap/share/file/input/resp/2017062114011498024906.CSV 1 G12C S 0    
7681 /home/ap/nas/shell/unload/NftStartByJava.jar /home/ap/nas/shell/unload/2017062115381498030701.CSV /home/ap/share/file/input/resp/2017062115381498030701.CSV 1 G12C S 0    
10883 sun.tools.jps.Jps -mlvV -Denv.class.path=/home/db/oracle/app/product/11.2.0/client_1/jlib:. -Dapplication.home=/usr/local/java/jdk64 -Xms8m
7520 /home/ap/nas/shell/unload/NftStartByJava.jar /home/ap/nas/shell/unload/2017062115371498030639.CSV /home/ap/share/file/input/resp/2017062115371498030639.CSV 1 G12C S 0

 

进程监测

xdgl@W125PC04VM10:~>jstat -gcutil 4086 1000 20
  S0     S1     E      O      P     YGC     YGCT    FGC    FGCT     GCT   
  0.00   3.98  18.46  15.39  99.92     15    2.763     0    0.000    2.763
  0.00   3.98  18.46  15.39  99.92     15    2.763     0    0.000    2.763
  0.00   3.98  18.68  15.39  99.92     15    2.763     0    0.000    2.763
  0.00   3.98  18.68  15.39  99.92     15    2.763     0    0.000    2.763
  0.00   3.98  18.69  15.39  99.92     15    2.763     0    0.000    2.763
  0.00   3.98  18.69  15.39  99.92     15    2.763     0    0.000    2.763
  0.00   3.98  18.69  15.39  99.92     15    2.763     0    0.000    2.763
  0.00   3.98  18.69  15.39  99.92     15    2.763     0    0.000    2.763
  0.00   3.98  19.02  15.39  99.92     15    2.763     0    0.000    2.763
  0.00   3.98  19.02  15.39  99.92     15    2.763     0    0.000    2.763
  0.00   3.98  19.02  15.39  99.92     15    2.763     0    0.000    2.763
  0.00   3.98  19.02  15.39  99.92     15    2.763     0    0.000    2.763
  0.00   3.98  19.02  15.39  99.92     15    2.763     0    0.000    2.763
  0.00   3.98  19.02  15.39  99.92     15    2.763     0    0.000    2.763
  0.00   3.98  19.02  15.39  99.92     15    2.763     0    0.000    2.763
  0.00   3.98  19.02  15.39  99.92     15    2.763     0    0.000    2.763
  0.00   3.98  19.02  15.39  99.92     15    2.763     0    0.000    2.763
  0.00   3.98  19.42  15.39  99.92     15    2.763     0    0.000    2.763
  0.00   3.98  19.42  15.39  99.92     15    2.763     0    0.000    2.763
  0.00   3.98  19.42  15.39  99.92     15    2.763     0    0.000    2.763

 

备注:对4068这个进程每隔1000ms打一次监测信息,总共监测20次。

结果解释:

S0  — Heap上的 Survivor space 0 区已使用空间的百分比

S1  — Heap上的 Survivor space 1 区已使用空间的百分比

E   — Heap上的 Eden space 区已使用空间的百分比

O   — Heap上的 Old space 区已使用空间的百分比

P   — Perm space 区已使用空间的百分比

YGC — 从应用程序启动到采样时发生 Young GC 的次数

YGCT– 从应用程序启动到采样时 Young GC 所用的时间(单位秒)

FGC — 从应用程序启动到采样时发生 Full GC 的次数

FGCT– 从应用程序启动到采样时 Full GC 所用的时间(单位秒)

GCT — 从应用程序启动到采样时用于垃圾回收的总时间(单位秒)

 

 

 

发表评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据