转自:http://blog.csdn.net/keda8997110/article/details/8608826
pid查看: http://coffeehot.iteye.com/blog/2148189
jstat
1. jstat -gc pid
可以显示gc的信息,查看gc的次数,及时间。
其中最后五项,分别是young gc的次数,young gc的时间,full gc的次数,full gc的时间,gc的总时间。
2.jstat -gccapacity pid
可以显示,VM内存中三代(young,old,perm)对象的使用和占用大小,
如:PGCMN显示的是最小perm的内存使用量,PGCMX显示的是perm的内存最大使用量,
PGC是当前新生成的perm内存占用量,PC是但前perm内存占用量。
其他的可以根据这个类推, OC是old内纯的占用量。
3.jstat -gcutil pid
统计gc信息统计。
4.jstat -gcnew pid
年轻代对象的信息。
5.jstat -gcnewcapacity pid
年轻代对象的信息及其占用量。
6.jstat -gcold pid
old代对象的信息。
7.stat -gcoldcapacity pid
old代对象的信息及其占用量。
8.jstat -gcpermcapacity pid
perm对象的信息及其占用量。
9.jstat -class pid
显示加载class的数量,及所占空间等信息。
10.jstat -compiler pid
显示VM实时编译的数量等信息。
11.stat -printcompilation pid
当前VM执行的信息。
一些术语的中文解释:
S0C:年轻代中第一个survivor(幸存区)的容量 (字节)
S1C:年轻代中第二个survivor(幸存区)的容量 (字节)
S0U:年轻代中第一个survivor(幸存区)目前已使用空间 (字节)
S1U:年轻代中第二个survivor(幸存区)目前已使用空间 (字节)
EC:年轻代中Eden(伊甸园)的容量 (字节)
EU:年轻代中Eden(伊甸园)目前已使用空间 (字节)
OC:Old代的容量 (字节)
OU:Old代目前已使用空间 (字节)
PC:Perm(持久代)的容量 (字节)
PU:Perm(持久代)目前已使用空间 (字节)
YGC:从应用程序启动到采样时年轻代中gc次数
YGCT:从应用程序启动到采样时年轻代中gc所用时间(s)
FGC:从应用程序启动到采样时old代(全gc)gc次数
FGCT:从应用程序启动到采样时old代(全gc)gc所用时间(s)
GCT:从应用程序启动到采样时gc用的总时间(s)
NGCMN:年轻代(young)中初始化(最小)的大小 (字节)
NGCMX:年轻代(young)的最大容量 (字节)
NGC:年轻代(young)中当前的容量 (字节)
OGCMN:old代中初始化(最小)的大小 (字节)
OGCMX:old代的最大容量 (字节)
OGC:old代当前新生成的容量 (字节)
PGCMN:perm代中初始化(最小)的大小 (字节)
PGCMX:perm代的最大容量 (字节)
PGC:perm代当前新生成的容量 (字节)
S0:年轻代中第一个survivor(幸存区)已使用的占当前容量百分比
S1:年轻代中第二个survivor(幸存区)已使用的占当前容量百分比
E:年轻代中Eden(伊甸园)已使用的占当前容量百分比
O:old代已使用的占当前容量百分比
P:perm代已使用的占当前容量百分比
S0CMX:年轻代中第一个survivor(幸存区)的最大容量 (字节)
S1CMX :年轻代中第二个survivor(幸存区)的最大容量 (字节)
ECMX:年轻代中Eden(伊甸园)的最大容量 (字节)
DSS:当前需要survivor(幸存区)的容量 (字节)(Eden区已满)
TT: 持有次数限制
MTT : 最大持有次数限制
相关推荐
要查看哪个进程频繁进行GC,可以使用以下命令: ``` jstat -gc <进程ID> <间隔时间> <次数> ``` 这里的`<进程ID>`是你想监控的Java进程的ID,`<间隔时间>`是收集数据的时间间隔,单位为毫秒,`<次数>`是你希望收集...
`jstat -gc <pid>` 命令用于查看JVM中堆的垃圾收集情况统计,输出的数据包括: - **S0C/S1C**: 第一/二个幸存区的容量(KB)。 - **S0U/S1U**: 第一/二个幸存区当前使用的空间(KB)。 - **EC**: Eden区的容量(KB)...
在实际应用中,jstat可以用于连续监视JVM的状态,例如,通过指定`interval`和`count`参数来监控GC活动或者类加载情况。命令中的`vmid`参数通常由本地JVM进程的标识符构成,格式可以是`[protocol:][//]lvmid[@...
在监控Tomcat时,`jstat -gc <pid>`能提供GC活动的详细数据,包括新生代、老年代的内存使用情况,以及GC的时间和频率,这有助于调整GC策略以优化性能。例如,如果发现频繁的Minor GC导致了应用暂停时间过长,可能...
jstat -gc -t *** ``` 在上述命令中,`12345`是目标JVM的本地标识符,`5`表示输出间隔为5秒,`10`表示总共输出10次。 由于jstat工具不受支持,它可能不会在未来的JDK版本中可用,这一点在使用时尤其需要注意。而且...
JVM性能调优监控工具jps、...例如:jstat -gc 21711 jps、jstack、jmap、jhat、jstat 等 JVM 性能调优监控工具对于 Java 程序员来说是必备的,能够帮助我们解决各种 JVM 性能问题,提高 Java 应用程序的性能和稳定性。
`-compiler`和`-printcompilation`选项用于查看JIT编译的情况: - 编译的总次数、成功次数、失败次数。 - 最近被编译的方法及其状态。 **6. 性能优化** 通过分析jstat输出的数据,可以发现内存泄漏、垃圾收集效率...
linux命令行版visualgc工具,jstat离线日志图形化展示工具_GCisual
例如,使用`jstat -gc pid`可以监控老年代的大小,预测何时可能发生Full GC。 MAT工具的分析功能强大,它能解析heap dump文件,提供Histogram、Dominator Tree等视图。Histogram显示了内存中对象的分布,帮助我们...
通过`jstat -gc pid [interval] [count]`,我们可以定期获取这些数据,以监控JVM的内存使用情况和GC压力,从而识别可能存在的性能问题。 三、JVM内存模型与性能调优 JVM内存模型的调优主要包括调整堆内存大小、...
例如,`jstat`可以实时监控GC的状态,而`jhat`可以分析堆转储文件,找出内存泄漏的线索。 在实际开发中,Java程序员可以通过调整JVM参数来控制GC的行为,比如设置堆大小、选择GC算法、设置新生代和老年代的比例等。...
例如,`jstat -gc pid [interval] [count]` 可以监控新老生代的内存使用和垃圾回收频率。使用`jstat -gcuitl pid [interval] [count]` 可以看到内存使用率的百分比,帮助监控内存分配和回收效率。 掌握这些命令行...
本文将详细介绍一些常用的虚拟机状态查看命令,包括`jmap`, `jstat`, `jstat-gcutil`等相关工具的使用方法与应用场景。 #### 1. jmap `jmap` 是一个非常实用的工具,主要用于打印Java堆或永久代中的对象实例。其中...
我们可以使用 jstat -gc pid 1000 命令来观察 GC 分代变化情况。如果看到 GC 比较频繁,我们可以进一步分析 GC 的问题。 三、磁盘故障排查 磁盘故障排查是 Java 线上故障排查的第三步骤。我们可以使用 df -hl 命令...
jmap、jstack、jstat组合使用定位jvm问题
- `jrcmd [pid] -cmd jstat -gc`:远程执行jstat命令查看GC信息。 通过`jrcmd`可以在不直接登录服务器的情况下获取到Java进程的状态信息,这对于远程诊断问题提供了极大的便利。 ### 常规问题排查流程 1. **初步...
通过GCViewer工具查看GC日志 为了找到内存泄漏点,我们通过jmap工具生成Heap Dump jmap -dump:live,format = b,file = 94223.bin 94223 用Eclipse Memory Analyzer:转储文件,通过内存泄漏分析,得到这样一个...
通过`jstat -gc <pid> <interval> <count>`,我们可以定期获取JVM的垃圾回收状况,这对于优化内存配置和识别潜在的内存泄漏问题非常有帮助。 总的来说,这些工具为Java开发者提供了一套全面的诊断和监控手段,能够...
2. 使用 jstat -gccause 查看 GC 原因 使用 jstat -gccause 实时监控 GC 原因,但是发现始终是 Allocation Failure。但是在监控中发现 old 区域中有突然增加 800M,通过公司的监控平台也发现了 old 区域暴涨的现象...