700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > JVM(三).虚拟机性能监控故障处理工具

JVM(三).虚拟机性能监控故障处理工具

时间:2018-12-09 19:13:09

相关推荐

JVM(三).虚拟机性能监控故障处理工具

JVM (三).虚拟机性能监控&故障处理工具

1.概述

系统定位问题,需要工具来导出出现问题的数据;这里的数据有异常堆栈,虚拟机日志,垃圾回收日志,线程快照,堆快照文件;工具就很多就是虚拟机自带工具或者第三方解析工具;

2.基础工具

在目录JAVA_HOME/bin/

2.1jps

jps:(JVM Precess Status)虚拟机进程状况工具:列出正在运行的虚拟机进程,并显示主类;

jps 命令格式

jps [options] [hostid]

[root@CentOSA ~]# jps -q1424129685777241742[root@CentOSA ~]# jps -m1424 QuorumPeerMain /package/zookeeper/bin/../conf/zoo.cfg129700 Jps -m77724 KafkaEagle start1742 Kafka config/server.properties[root@CentOSA ~]# jps -l1424 org.apache.zookeeper.server.quorum.QuorumPeerMain129712 sun.tools.jps.Jps77724 org.apache.catalina.startup.KafkaEagle1742 kafka.Kafka[root@CentOSA ~]# jps -v1424 QuorumPeerMain -Dzookeeper.log.dir=. -Dzookeeper.root.logger=INFO,CONSOLE -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.local.only=false129725 Jps -Denv.class.path=.:/usr/local/jdk/jdk1.8.0_51//lib/tools.jar:/usr/local/jdk/jdk1.8.0_51//lib/dt.jar: -Dapplication.home=/usr/local/jdk/jdk1.8.0_51 -Xms8m77724 KafkaEagle -Djava.util.logging.config.file=/package/kafka-eagle/kms/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Xmx1g -Xms1g -XX:MaxGCPauseMillis=20 -XX:+UseG1GC -XX:MetaspaceSize=128m -XX:InitiatingHeapOccupancyPercent=35 -XX:G1HeapRegionSize=16M -XX:MinMetaspaceFreeRatio=50 -XX:MaxMetaspaceFreeRatio=80 -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -Dcatalina.base=/package/kafka-eagle/kms -Dcatalina.home=/package/kafka-eagle/kms -Djava.io.tmpdir=/package/kafka-eagle/kms/temp1742 Kafka -Xmx1G -Xms1G -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:+ExplicitGCInvokesConcurrent-Djava.awt.headless=true -Xloggc:/package/kafka/bin/../logs/kafkaServer-gc.log -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=100M -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=7788 -Dkafka.logs.dir=/package/kafka/bin/../logs -Dlog4j.configuration=file:./bin/../config/log4j.properties

2.2jstat

jstat:JVM Statistics Monitoring Tool:监视虚拟机运行状态信息的命令行工具

jstat命令格式:

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

[root@CentOSA ~]# jps -l1424 org.apache.zookeeper.server.quorum.QuorumPeerMain3512 sun.tools.jps.Jps77724 org.apache.catalina.startup.KafkaEagle1742 kafka.Kafka[root@CentOSA ~]# jstat -gc 1424 100 10 // 1424 pid 100ms 一次 总共10次S0C S1C S0U S1UEC EU OC OU MCMU CCSC CCSU YGCYGCT FGC FGCTGCT 512.0 512.0 512.0 0.0 15360.0 6986.6 20480.05191.8 11008.0 10679.9 1280.0 1198.458 2.944 00.000 2.944512.0 512.0 512.0 0.0 15360.0 6986.6 20480.05191.8 11008.0 10679.9 1280.0 1198.458 2.944 00.000 2.944512.0 512.0 512.0 0.0 15360.0 6986.6 20480.05191.8 11008.0 10679.9 1280.0 1198.458 2.944 00.000 2.944512.0 512.0 512.0 0.0 15360.0 6986.6 20480.05191.8 11008.0 10679.9 1280.0 1198.458 2.944 00.000 2.944512.0 512.0 512.0 0.0 15360.0 6986.6 20480.05191.8 11008.0 10679.9 1280.0 1198.458 2.944 00.000 2.944512.0 512.0 512.0 0.0 15360.0 6986.6 20480.05191.8 11008.0 10679.9 1280.0 1198.458 2.944 00.000 2.944512.0 512.0 512.0 0.0 15360.0 7055.9 20480.05191.8 11008.0 10679.9 1280.0 1198.458 2.944 00.000 2.944512.0 512.0 512.0 0.0 15360.0 7055.9 20480.05191.8 11008.0 10679.9 1280.0 1198.458 2.944 00.000 2.944512.0 512.0 512.0 0.0 15360.0 7055.9 20480.05191.8 11008.0 10679.9 1280.0 1198.458 2.944 00.000 2.944512.0 512.0 512.0 0.0 15360.0 7074.3 20480.05191.8 11008.0 10679.9 1280.0 1198.458 2.944 00.000 2.944[root@CentOSA ~]# jstat -gcutil 1424 100 10S0S1EOMCCS YGCYGCT FGC FGCTGCT 100.00 0.00 47.29 25.35 97.02 93.6358 2.9440 0.000 2.944100.00 0.00 47.29 25.35 97.02 93.6358 2.9440 0.000 2.944100.00 0.00 47.29 25.35 97.02 93.6358 2.9440 0.000 2.944100.00 0.00 47.29 25.35 97.02 93.6358 2.9440 0.000 2.944100.00 0.00 47.29 25.35 97.02 93.6358 2.9440 0.000 2.944100.00 0.00 47.29 25.35 97.02 93.6358 2.9440 0.000 2.944100.00 0.00 47.29 25.35 97.02 93.6358 2.9440 0.000 2.944100.00 0.00 47.29 25.35 97.02 93.6358 2.9440 0.000 2.944100.00 0.00 47.29 25.35 97.02 93.6358 2.9440 0.000 2.944100.00 0.00 47.29 25.35 97.02 93.6358 2.9440 0.000 2.944

2.3jinfo

jinfo:Configuration Info for Java:实时查看和调整虚拟机各种参数

jinfo命令格式:

jinfo [option ] pid

[root@CentOSA ~]# jinfo 1424Attaching to process ID 1424, please wait...Debugger attached successfully.Server compiler detected.JVM version is 25.51-b03Java System Properties:java.runtime.name = Java(TM) SE Runtime Environmentjava.vm.version = 25.51-b03..........VM Flags:........

2.4jmap

jmap:Memery Map for Java:堆内存快照heapdump /dump

jmap命令格式:

C:\Users\sff>jmap -dump:format=b,file=test.bin 19140Dumping heap to C:\Users\sff\test.bin ...Heap dump file created

2.5jhat

jhat:JVM Heap Analysis Tool:解析堆内存快照 dump 文件

jhat命令格式:

jhat [文件]

C:\Users\sff>jhat test.binReading from test.bin...Dump file created Sun Jan 23 22:32:09 CST Snapshot read, resolving...Resolving 118891 objects...Chasing references, expect 23 dots.......................Eliminating duplicate references.......................Snapshot resolved.Started HTTP server on port 7000Server is ready.访问地址: http://localhost:7000/

2.6jstack

jstack:Stack Trace for Java:生成当前虚拟机线程快照

jstack命令格式:

jsatck [option] pid

2.7 其他命令

3.可视化故障处理工具

3.1JConsole

Java Monitoring and Management ConsoleJava监视与管理控制台;基于JMX的可视化工具,通过JMX 管理MBean;

通过pid或者类名连接上自己想看的服务运行的JVM情况

主要是:内存监控 虚拟机各个区域的内存使用GC 情况;线程监控这个有点类似于jstack,下方还有死锁的检测

3.2VisualVM

All-in-One Java Troubleshooting Tool是功能最强大的运行监视和故障处理程序之一,很长一段时间内是Oracle官方主力发展的虚拟机故障处理工具

如果电脑配置了环境变量;直接输入jvisualvm可以直接打开,连接上自己的应用,查看应用运行的JVM的状态;还具有很多功能丰富的插件;

3.3MAT

Eclipse 的 Memory Analyzer Tool (MAT);个人用的还是比较多,一般用户查看内存泄漏的问题;直接加载内存快照,点击内存占用比较多的对象;

下载地址 /mat/previousReleases.php

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。