深入理解Java虚拟机-JDK自带工具集

1,JPS:JVM Process Status Tool,显示指定系统内所有的HotSpot虚拟机进程

   1.1,jps -q:只输出LVMID(Local Virtual Machine Identifier本地虚拟机唯一ID),省略主类的名称

   1.2,jps -m:输出虚拟机进程启动时传入给主类mian()函数的参数

   1.3,jps -l:输出主类的全民,如果进程执行的jar包,输出jar路径

   1.4,jps -v:输出虚拟机进程启动时jvm参数

2,jstat:JVM Statistics Monitoring Tool,用于收集Hotspot虚拟机各方面的运行数据,显示本地或者远程虚拟机进程中的类装载、内存、垃圾收集、JIT编译等运行数据。

   2.1 jps -gc:监视Java堆状况,包括Eden区,两个survivor区,老年代,永久代等容量,已使用空间,GC时间合计等信息

jstat -gc 12516 1000 20:进程12516 每1000毫秒输出一次GC信息,合计输出20次

S0C、S1C、S0U、S1U:Survivor 0/1区容量(Capacity)和使用量(Used)

EC、EU:Eden区容量和使用量

OC、OU:年老代容量和使用量

PC(MC)、PU(MU):永久代容量和使用量

CCSC、CCSU:压缩类空间容量和使用量

YGC、YGT:年轻代GC次数和GC耗时

FGC、FGCT:Full GC次数和Full GC耗时

GCT:GC总耗时
// -Xms20m -Xmx20M 
public class GCTest {
	public static void main(String[] args) throws InterruptedException {
		int i = 0;
		List<Integer> list = new ArrayList<Integer>();
		while(true) {
			Thread.sleep(10);
			new OOMObject(i++);
			list.add(i);
		}
	}
}

   2.2,jstat -class:监视类装载,卸载数量,总空间以及类装载所耗费的时间

3,jinfo:Configuration Info for Java,显示虚拟机配置信息。

4,jmap:Memory Map for Java,生成虚拟机的内存转储快照(heapdump文件)

   4.1,jmap -dump:生成Java堆转储快照,格式 -dump:[live,]fomate=b,file=<filename>,其中live子参数说明是否只dump出存活的对象。

   4.2,jmap -heap vmid:显示Java堆详细信息,如使用哪种回收器,参数配置,分代状况等。

5,jhat:JVM Heap Dump Browser,用于分析heapdump文件,他会建立一个http/htmlfuwuqi ,让用户可以在浏览器上查看分析结果

6,jstack:Stack Trace for Java,显示虚拟机的线程快照

   6.1,jstack -l vmid:除堆栈外,显示关于锁的附加信息

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值