在Arthas的交互式命令行界面中,输入dashboard命令可以查看应用的概览信息,包括CPU、内存、线程和GC等信息。例如: bash [arthas@xxxx]$ dashboard 在概览信息中,你可以看到GC的相关信息,如GC次数、GC时间等。如果GC部分未正常显示,可以尝试输入thread命令查看线程信息,以找到与GC相关的线程,如GC Task Thread等。 三...
gc.ps_scavenge.count:从应用程序启动到当前采样时间年轻代gc次数gc.ps_scavenge.time(ms):从应用程序启动到当前采样时间年轻代gc所用的总时间(毫秒)gc.ps_marksweep.count:从应用程序启动到当前采样时间老年代gc次数gc.ps_marksweep.time(ms):从应用程序启动到当前采样时间老年代gc所用的总时间(毫秒)Memory ...
jstat -gc pid:可以显示gc的信息,查看gc的次数,及时间。其中最后五项,分别是young gc的次数,young gc的时间,full gc的次数,full gc的时间,gc的总时间。 jstat -gccapacity:可以显示,VM内存中三代(young,old,perm)对象的使用和占用大小,如:PGCMN显示的是最小perm的内存使用量,PGCMX显示的是perm的内存最大使...
gc 是我行定制化开发的功能,源自于 jstat -gcutil pid timeinterval 命令,其中 pid 可以从 Arthas 中获取,timeinterval(单位为毫秒)表示 gc 每次时间间隔,默认为 1s。 # 查看应用gc情况(timeinterval表示间隔时间,单位毫秒,默认为1S) gc-i timeinterval-n5 三. 应用实践案例 下面记录一些我行 Arthas 应用实践案...
3. 显示程序的GC情况,包括YGC次数、总花费时间,FGC的次数、总花费时间。 4. 当前程序的一些信息,包括系统版本、JDK版本、程序运行时长等。 Thread 查看当前线程信息,查看线程的堆栈 // 查看CPU使用率 top n 的线程的栈,当前最忙的前 n 个线程:thread -n 3// 查看 5 秒内的 CPU 使用率 top n 的线程栈...
1.12 vmtool: 从JVM内查找某个类的实例/强制进行GC # 查看jvm内存中MathGame类的实例vmtool --action getInstances --className com.example.trust.MathGame# 查看jvm内存中MathGame类的实例的个数vmtool --action getInstances --className com.example.trust.MathGame --express'instances.length'# 强制进行GCvm...
可以看到,这里会显示出线程(按照cpu占用百分比倒排)、内存(堆空间实时情况)、GC情况等数据。 常用的参数: -i 400ms 每次执行间隔时间 -n 执行多少次dashboard,不指定的话会一直刷新 thread thread命令用来查看当前jvm中的线程信息的,如下图所示: 可以看到,默认执行thread命令,会直接打印出当前所有的线程。
FGC: Full GC发生的次数 FGCT: Full GC耗时 GCT: 总的GC耗时,等于YGCT+FGCT 连续观察GC变化的命令 jstat -gc 进程ID 间隔时间 打印次数 举个例子:我要打印10次gc信息,每次间隔1秒 jstat -gc 进程ID 1000 10 这样就连续打印了10次gc的变化,每次隔一秒。
4. `monitor`:监控方法的执行情况,可以查看方法的调用次数、耗时等。 5. `watch`:监控指定方法的参数和返回值,可以实时查看方法的输入和输出数据。 6. `trace`:跟踪方法的调用链,可以查看方法的调用路径和耗时。 7. `jvm`:查看Java虚拟机的运行时信息,包括堆内存、GC情况等。 8. `heapdump`:生成堆内存快照...
jvm堆内存和非堆内存的使用情况,堆内存可以看到eden,survivor,old区的内存情况,可以做个简单分析,这是一个活动项目,所以临时请求比较多,大部分对象都处于年轻代新生区,可以看出这个项目新生代使用了ParNew,老年代使用了CMS,gc.parnew.count字段记录了minor gc的次数,通过dashboard的几次刷新,可以看到年轻代gc次数...