`

java 程序故障常用排查工具

阅读更多

http://guafei.iteye.com/blog/1815222 (jstack(查看线程)、jmap(查看内存)和jstat(性能分析)命令)

 

 

 

1、jps 命令:

      jps [ options ] [ hostid ] 

options选项 

-q 仅输出VM标识符,不包括class name,jar name,arguments in main method 

-m 输出main method的参数 

-l 输出完全的包名,应用主类名,jar的完全路径名 

-v 输出jvm参数 

-V 输出通过flag文件传递到JVM中的参数(.hotspotrc文件或-XX:Flags=所指定的文件 

-J 用于传递jvm选项到由javac调用的java加载器中,例如,“-J-Xms48m”将把启动内存设置为48M,使用-J选项可以非常方便的向基于Java的开发的底层虚拟机应用程序传递参数。

 

 hostid 指定了目标的服务器,它的语法如下:

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

protocol - 如果protocol及hostname都没有指定,那表示的是与当前环境相关的本地协议,如果指定了hostname却没有指定protocol,那么protocol的默认就是rmi。

hostname - 服务器的IP或者名称,没有指定则表示本机。

port - 远程rmi的端口,如果没有指定则默认为1099。

Servername - 注册到RMI注册中心中的jstatd的名称。

 

示例

不带任何参数

[root@localhost /]# jps

23501 Bootstrap

 

23709 Jps

带-v参数

[root@localhost /]# jps -v

23501 Bootstrap -Djava.util.logging.config.file=/opt/apache-tomcat-7.0.67/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Xms1024m -Xmx1024m -Xss1m -XX:NewSize=256m -XX:MaxNewSize=512m -XX:PermSize=256M -XX:MaxPermSize=512m -XX:+DisableExplicitGC -Xms1024m -Xmx1024m -XX:NewSize=256m -XX:MaxNewSize=512m -XX:PermSize=256m -XX:MaxPermSize=512m -Djava.endorsed.dirs=/opt/apache-tomcat-7.0.67/endorsed -Dcatalina.base=/opt/apache-tomcat-7.0.67 -Dcatalina.home=/opt/apache-tomcat-7.0.67 -Djava.io.tmpdir=/opt/apache-tomcat-7.0.67/temp

 

23729 Jps -Denv.class.path=.:/usr/java/jdk1.7.0_75/lib:/usr/java/jdk1.7.0_75/jre/lib: -Dapplication.home=/usr/java/jdk1.7.0_75 -Xms8m

 

带-l参数

[root@localhost /]# jps -l

23501 org.apache.catalina.startup.Bootstrap

 

23751 sun.tools.jps.Jps

 

2、jstat命令  (jstack(查看线程)、jmap(查看内存)和jstat(性能分析)命令 参考

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

 

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

 

jstat [ option vmid [ interval[s|ms] [count] ] ]

 

参数interval和count代表查询间隔和查询次数,可以列出当前JVM版本支持的选项,常见的有

 

l class (类加载器) 

l compiler (JIT) 

l gc (GC堆状态) 

l gccapacity (各区大小) 

l gccause (最近一次GC统计和原因) 

l gcnew (新区统计) 

l gcnewcapacity (新区大小) 

l gcold (老区统计) 

l gcoldcapacity (老区大小) 

l gcpermcapacity (永久区大小) 

l gcutil (GC统计汇总) 

 

l printcompilation (HotSpot编译统计)

 

比如:jstat -gc java进程号

[root@localhost /]# jstat -gc 23915

 S0C    S1C    S0U    S1U      EC       EU        OC         OU       PC     PU    YGC     YGCT    FGC    FGCT     GCT   

65536.0 65536.0  0.0   50941.4 393216.0 354346.7  524288.0   17374.8   262144.0 51252.2      3    0.160   0      0.000    0.160

 

 

3、jinfo 命令

   jinfo主要用来查看应用的配置参数,及打印JVM所指定的JVM参数;还可以使用 -sysprops 选项讲虚拟机进程中所指定的System.getProperties()内容打印出来;并可以查看到JVM参数的系统默认值,这个在jps -v是无法看到的;同时jinfo 还能在运行期修改JVM参数, 通过-flag name=value 或者 -flag [+|-]name 来修改一部分运行期可修改的JVM参数。

        如果进程运行在64位虚拟机上,需要指明-J-d64参数,如:jinfo -J-d64 -sysprops pid另外,Java7的官方文档指出,这一命令在后续的版本中可能不再使用。笔者使用的版本(jdk8)中已经不支持该命令

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    Windows 2003 故障排查工具手册(DOC)

    其中许多最有用的工具主要不是作为故障排查工具提供的,但它们可以用来诊断问题。熟悉可用于故障排查的各种工具并知道如何使用它们来隔离问题可加快故障排查过程并减少停机时间。 目录: • 故障排查...

    Java线上故障排查方案.pdf

    线上故障排查方法记录

    根叔的云图-网络故障大排查全套文档

    EoC双向网改造导致电视播放异常故障排查.pdf EoC头端无法管理故障排查.pdf EoC终端注册不上故障排查.pdf EoC终端配置下发不生效故障排查.pdf EoC网络PPPoE拨号上网故障排查.pdf EPON EPON网络监控业务不通...

    Java线上故障排查方案(2).pdf

    Java线上故障排查方案(2).pdf

    windows 2003 故障排查工具手册

    windows 2003 故障排查工具手册!能够排查所有WIN2003应用中的系统问题...

    Java线上故障排查方案.rar

    Java线上故障排查方案 结合实战,超详细Java线上故障排查方案总结,值得收藏

    Java程序性能优化

    第6章为工具篇,介绍获取和监控程序或系统性能指标的各种工具,包括相关的故障排查工具。 《Java程序性能优化:让你的Java程序更快、更稳定》适合所有Java程序员、软件设计师、架构师以及软件开发爱好者,对于有一定...

    JAVA线上问题排查和工具.pdf

    JAVA线上问题排查和工具 内容详细 结合实际工作 贴合实际

    java程序性能优化

    第6章为工具篇,介绍了获取和监控程序或系统性能指标的各种工具,包括相关的故障排查工具。  本书适合所有Java程序员、软件设计师、架构师以及软件开发爱好者,对于有一定经验的Java工程师,本书更能帮助他突破技术...

    Java诊断利器Arthas排查问题实践.pptx

    Java诊断利器Arthas排查问题实践.pptx

    H3CIE故障排查重点技术参考资料汇总集.rar

    802.1x与EAD故障排查 AM接口故障排查 ARP-DETECTION故障排查 BGP MPLS故障排查 BGP故障排查 BPDU Tunnel故障排查 DHCP Server故障排查 DVPN HUB-HUB DVPN HUB-SPOKE 2 DVPN HUB-SPOKE DVPN DVPN故障排查 E1POS...

    java后端接口排查工具

    java后端接口排查工具

    大优惠 Java程序性能优化 让你的Java程序更快、更稳定最新版

    Java是目前应用最为广泛的软件开发平台,学习针对Java程序的优化方法有重要的现实意义。《Java程序性能优化:让你的Java程序...第6章为工具篇,介绍了获取和监控程序或系统性能指标的各种工具,包括相关的故障排查工具

    Java程序性能优化 _让你的Java程序更快、更稳

    第6章为工具篇,介绍了获取和监控程序或系统性能指标的各种工具,包括相关的故障排查工具。 本书适合所有Java程序员、软件设计师、架构师以及软件开发爱好者,对于有一定经验的Java工程师,本书更能帮助他突破技术...

    十款最佳轻量级故障排查工具汇总

    教程名称:十款最佳轻量级故障排查工具汇总课程目录:【】(微软小工具套件)SysinternalsSuite【】GeekUninstaller_软件卸载与清理工具【】GPU Shark 0.6.3【】PatchMyPC【】rcsetup142_97300【】Snap2HTML1.5描述...

    Windows 2003 故障排查工具手册

    包括在 Microsoft® Windows Server...其中许多最有用的工具主要不是作为故障排查工具提供的,但它们可以用来诊断问题。熟悉可用于故障排查的各种工具并知道如何使用它们来隔离问题可加快故障排查过程并减少停机时间。

Global site tag (gtag.js) - Google Analytics