Jvm自带监控命令实战[base jdk8]

#示指定系统内所有的HotSpot虚拟机进程
jps -ml

#用于生成heap dump文件
#还可以使用-XX:+HeapDumpOnOutOfMemoryError参数来让虚拟机出现OOM的时候自动生成dump文件。
#jmap不仅能生成dump文件,还可以查询finalize执行队列、Java堆和永久代的详细信息,如当前使用率、当前使用的是哪种收集器等
jmap -histo 764 > online-server_histo.log
jmap -histo:live 764 > online-server_histo:live.log
jmap -dump:live,format=b,file=online-server_dump:live.log 764
jmap -heap 764 > online-server_heap.log
jmap -permstat 764
jmap -clstats 764

#与jmap搭配使用,用来分析jmap生成的dump,jhat内置了一个微型的HTTP/HTML服务器,生成dump的分析结果后,
#可以在浏览器中查看。在此要注意,一般不会直接在服务器上进行分析,因为jhat是一个耗时并且耗费硬件资源的过程,
#一般把服务器生成的dump文件复制到本地或其他机器上进行通过MAT活其他软件分析。
jhat -J-Xmx512m dump.hprof

#反编译字节码文件成可读指令
javap -s java.lang.String

#用于生成java虚拟机当前时刻的线程快照。线程快照是当前java虚拟机内每一条线程正在执行的方法堆栈的集合,
#生成线程快照的主要目的是定位线程出现长时间停顿的原因,如线程间死锁、死循环、请求外部资源导致的长时间等待等。
#线程出现停顿的时候通过jstack来查看各个线程的调用堆栈,就可以知道没有响应的线程到底在后台做什么事情,或者等待什么资源。
#如果java程序崩溃生成core文件,jstack工具可以用来获得core文件的java stack和native stack的信息,从而可以轻松地知道java程序是如何崩溃和在程序何处发生问题。
#另外,jstack工具还可以附属到正在运行的java程序中,看到当时运行的java程序的java stack和native stack的信息, 如果现在运行的java程序呈现hung的状态,jstack是非常有用的
jstack -l 764 > online-server_jstack_l.log

#用于监视虚拟机运行时状态信息的命令,它可以显示出虚拟机进程中的类装载、内存、垃圾收集、JIT编译等运行数据
jstat -gcutil 764 1000 10 > online-server_jstat_1000_10.log
jstat -gccapacity 764 1000 30 > online-server_gccapacity_1000_30.log
jstat -gc 764 1000 30 > online-server_gc_1000_30.log
jstat -class 764 > online-server_jstat_class.log
jstat -compiler 764 > online-server_jstat_compiler.log

#作用是实时查看和调整虚拟机运行参数
jinfo -sysprops 764 > online-server_jinfo_sysprops.log
jinfo -flags 764 > online-server_jinfo_flags.log

#查看可以在不重启jvm进程的情况下,可以动态设置的jvm参数
java -XX:+PrintFlagsFinal -version|grep manageable > jvm_manageable.log

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FeelTouch Labs

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值