JVM监控使用

下面内容出自‘深入理解JAVA虚拟机’一书
jps  JVM Process Status Tool,显示指定系统内所在的HotSpot虚拟机进程
jstat  JVM Statistics Monitoring Tool,显示收集HotSpot虚拟机各方面的运行数据
jinfo  Configuration Info for Java,显示虚拟机配置信息
jmap   memory Map for JAVA,生成虚拟机的内存转储快照(heapdump文件)
jhat   JVM Heap Dump Browser,用于分析heapdump文件,不过一般使用MAT等工具
jstack Stack Trace for JAVA,显示虚拟机的线程快照

参数说明:
jps 一般用来查看JAVA程序进程号
-q  只输出本地虚拟机唯一ID
-m  输出虚拟机进程启动时传递给主类main方法的参数
-l  输出主类全名,如果进程执行的是jar包,则输出jar包路径
-v  输出虚拟机启动时JVM参数

jstat 监视JVM运行状态,显示类装载、内存、垃圾收集、JIT编译等信息
命令格式:jstat -option vmid interval count
-class 类装载、卸载数量、装载所费时间
-gc 显示堆状况,包括Eden区、2个survivor区、老年代、永久代容量、已用空间、GC时间
-gccapacity 输出主要关注JAVA堆各个区域使用到的最大和最小空间
-gcutil  输出已使用空间占总空间的百分比
-gccause 与gcutil类似,但会额外输出上一次GC产生的原因
-gcnew   新生代GC状况
-gcnewcapacity  新生代的最大和最小空间
-gcold   老年代GC状况
-gcoldcapacity  老年代使用的最大和最小空间
-gcpermcapacity 永久代使用的最大和最小空间

jinfo实时查看和调整虚拟机的各项参数
命令格式:jinfo -option pid

jmap 用于生成堆转储快照(或者kill -3)
命令格式:jmap -option pid
-dump  -dump:[live,]format=b,file=<filename>,live只dump出存活对象,只在linux/Solaris平台下有效
-hep 显示使用哪种回收器、参数配置、分代状况等,只在linux/Solaris平台下有效
-histo  显示堆中对象统计信息,包括类、实例数量、合计容量

jhat不写了。

jstack 虚拟机当前线程快照(称为threaddump或javacore文件),可以定位线程长时间停顿原因,如
       死锁、死循环、请求外部资源导致长时间等待
命令格式:
jstack -option vmid
参数有-F -l -m



JVM参数设置方式:
-XX:+<option>开启option参数
-XX:-<option>关闭option参数
-XX:-<option>=<value>赋值

列两个参数及对应意思:
SurvivorRatio 默认为8,新生代中Eden区域与Survivor区域的容量比
PretenureSizeThreshold 无默认值,直接进到老年代的对象大小,大于这个参数的对象将直接在老年人分配
MaxTenuringThreshold  默认值为15,每个对象在经历过一次Minor GC,年龄就增1,当超过这个参数值时就
                      进入老年代
MaxPermSize  一般默认为48MB,永久代最大值
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值