JVM监测和调试步骤(附jdk工具jps、jstat等常用工具说明和官方文档)

本文介绍了JVM的四种垃圾收集器类型,包括单线程GC、Throughput GC、Concurrent Low Pause GC和Incremental Low Pause GC,并提供了JDK1.6官方文档链接,详细解释了如何使用jps、jstat等工具进行JVM监控和调试,以及官方JVM参数说明,帮助优化Java应用程序的性能。
摘要由CSDN通过智能技术生成
JVM调优步骤:
第一步:监测JVM(Java  Virtual Machine) /GC(Garbage Collector)
第二步:调优
一、监测JVM/GC
==========================以下段落摘自网络(google或百度均可查到)========================
jps:与unix上的ps类似,用来显示本地的java进程,可以查看本地运行着几个java程序,并显示他们的进程号。
jinfo:可以输出并修改运行时的java 进程的opts。
jstat:一个极强的监视VM内存工具。可以用来监视VM内存内的各种堆和非堆的大小及其内存使用量。
jmap:打印出某个java进程(使用pid)内存内的,所有‘对象’的情况(如:产生那些对象,及其数量)。
jconsole:一个java GUI监视工具,可以以图表化的形式显示各种数据。并可通过远程连接监视远程的服务器VM。
  jstat工具特别强大,有众多的可选项,详细查看堆内各个部分的使用量,以及加载类的数量。使用时,需加上查看进程的进程id,和所选参数。以下详细介绍各个参数的意义。
  jstat -class pid:显示加载class的数量,及所占空间等信息。
  jstat -compiler pid:显示VM实时编译的数量等信息。
  jstat -gc pid:可以显示gc的信息,查看gc的次数,及时间。其中最后五项,分别是young gc的次数,young gc的时间,full gc的次数,full gc的时间,gc的总时间。
  jstat -gccapacity:可以显示,VM内存中三代(young,old,perm)对象的使用和占用大小,如:PGCMN显示的是最小perm的内存使 用量,PGCMX显示的是perm的内存最大使用量,PGC是当前新生成的perm内存占用量,PC是但前perm内存占用量。其他的可以根据这个类推,OC是old内纯的占用量。
  jstat -gcnew pid:new对象的信息。
  jstat -gcnewcapacity pid:new对象的信息及其占用量。
  jstat -gcold pid:old对象的信息。
  jstat -gcoldcapacity pid:old对象的信息及其占用量。
  jstat -gcpermcapacity pid: perm对象的信息及其占用量。
  jstat -util pid:统计gc信息统计。
  jstat -printcompilation pid:当前VM执行的信息。
  jstat -gcutil: 个人最喜欢用的,后面将详解。
  除了以上一个参数外,还可以同时加上 两个数字,如:jstat -printcompilation 3024 250 6是每250毫秒打印一次,一共打印6次,还可以加上-h3每三行显示一下标题。
  jmap是一个可以输出所有内存中对象的工具,甚至可以将VM 中的heap,以二进制输出成文本。使用方法 jmap -histo pid。如果连用SHELL jmap -histo pid>a.log可以将其保存到文本中去,在一段时间后,使用文本对比工具,可以对比出GC回收了哪些对象。jmap -dump:format=b,file=String 3024可以将3024进程的内存heap输出出来到String文件里。
  jinfo的用处比较简单,就是能输出并修改运行时的java进程的运行参数。用法是jinfo -opt  pid 如:查看2788的MaxPerm大小可以用  jinfo -flag MaxPermSize 2788。
  jconsole是一个用java写的GUI程序,用来监控VM,并可监控远程的VM,非常易用,而且功能非常强。由于是GUI程序,这里就不详细介绍了,不会的地方可以参考SUN的官方文档。使用方法:命令行里打jconsole,选择进程就可以了。
使用jstat -gcutil 监控gc垃圾回收情况:
:~$ sudo jps
15734 WatchdogManager
15773 Resin
21947 Jps
:~$ sudo jstat -gcutil -t 15773 4s 50
Timestamp         S0     S1     E      O      P     YGC     YGCT    FGC    FGCT     GCT
         5670.6  47.81   0.00   2.60  12.93  21.35     68    1.035    13   11.821   12.856
         5674.7  47.81   0.00   6.65  12.93  21.35     68    1.035    13   11.821   12.856
         5678.7  47.81   0.00   8.87  12.93  21.35     68    1.035    13   11.821   12.856
         5682.7  47.81   0.00  10.35  12.93  21.35     68    1.035    13   11.821   12.856
         5686.7  47.81   0.00  11.69  12.93  21.35     68    1.035    13   11.821   12.856
         5690.7  47.81   0.00  14.15  12.93  21.35     68    1.035    13   11.821   12.856
         5694.7  47.81   0.00  15.83  12.93  21.35     68    1.035    13   11.821   12.856
         5698.7  47.81   0.00  17.07  12.93  21.35     68    1.035    13   11.821   1
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值