jdk的命令行工具
1、jps:JVM process Status Tools,显示指定系统内所有的HotSpot虚拟机进程
命令格式:jps [options] -[hostid]

2、jstat:JVM Statistics Monitoring Tool,用于收集HotSpot虚拟机各方面的运行数据
(本地)LVMID命令格式:jstas [option vimd [ interval [s|ms] [count] ] ]
(interval和count代表查询间隔和次数)



S0C:Current survivor space 0 capacity (KB).
S1C:Current survivor space 1 capacity (KB).
S0U:Current survivor space 0 utilization (KB).
S1U:Current survivor space 1 utilization (KB).
EC:Current eden space capacity (KB).
EU:Eden space utilization (KB).
OC:Current old space capacity (KB).
OU:Old space utilization (KB).
PC:Current permanent space capacity (KB).
PU:Permanent space utilization (KB).
YGC:Number of young generation GC Events.
YGCT:Young generation garbage collection time.
FGC:Number of full GC events.
FGCT:Full garbage collection time.
GCT:Total garbage collection time.
3、jinfo: Configuration info for Java,显示虚拟机配置信息
命令格式:jinfo [option] pid
执行样例:查询CMSInitiatingOccupancyFraction参数值

参考http://blog.csdn.net/gtuu0123/article/details/6056758
CMS收集器的过程
CMS收集器的GC周期由6个阶段组成。其中4个阶段(名字以Concurrent开始的)与实际的应用程序是并发执行的,而其他2个阶段需要暂停应用程序线程。
- 初始标记:为了收集应用程序的对象引用需要暂停应用程序线程,该阶段完成后,应用程序线程再次启动。
- 并发标记:从第一阶段收集到的对象引用开始,遍历所有其他的对象引用。
- 并发预清理:改变当运行第二阶段时,由应用程序线程产生的对象引用,以更新第二阶段的结果。
- 重标记:由于第三阶段是并发的,对象引用可能会发生进一步改变。因此,应用程序线程会再一次被暂停以更新这些变化,并且在进行实际的清理之前确保一个正确的对象引用视图。这一阶段十分重要,因为必须避免收集到仍被引用的对象。
- 并发清理:所有不再被应用的对象将从堆里清除掉。
- 并发重置:收集器做一些收尾的工作,以便下一次GC周期能有一个干净的状态。
4、jmap:Memory Map for Java,生成虚拟机的内存转存快照(heapdump文件)
命令格式:jmap [option] vmid

执行样例:(生成二进制文件)

5、jhat:JVM Heap Dump Brower,用于分析heapdump文件,它会建立一个HTTP/HTML服务器,让用户可恶意在浏览器上查看分析结果

6、jstack:Stack Trace for Java,显示虚拟机的线程快照
命令格式:jstack [option] vmid


7、SDIS:JIT生成代码反汇编
参考:http://www.educity.cn/wenda/118036.html

浙公网安备 33010602011771号