jvm学习笔记(三)

工欲善其事必先利其器,想要更好的了解虚拟机,借助一些好用的工具会让你事半功倍


JDK命令行工具

jdk命令行工具在jdk安装目录下的bin文件夹中


1.jps:虚拟机进程状态工具

类似linux系统中的ps命令,可以列出正在运行的虚拟机进程,并显示虚拟机执行主类的名称,以及这些进程的本地虚拟机的唯一ID,如下图


进程号为6920的是我开启的tomcat服务器,主类是org.apache.catalina.startup.Bootstarp


2.jstat:虚拟机统计信息监控工具

可以查询类装载、垃圾回收相关的信息,以及JIT编译相关信息

jstat -gc 6920 250 20 表示监测进程ID为6920的GC情况,每250毫秒1次,监测20次,如下图


S0C 表示当前S0区域的大小(S0 capacity),同理S1表示当前S1区域的大小,EC表示eden区的大小,  OC表示老年代的大小(old), PC表示永久带的大小

S1C 表示当前S0区域已经使用的空间(S0 used),其他同理

YGC 表示虚拟机当前所执行的mirror GC的次数,即新生代垃圾回收的次数

YGCT表示新生代GC所花费的时间,单位为s

FGC表示执行了多少次FULL-GC

FGCT执行FULL-GC花费的时间

GCT执行GC花费的总时间


3.jinfo:java配置信息工具

可以实时的查看和调整虚拟机的各项参数

其他还有jmap,jhat之类的没有用过



JDK的可视化工具


1.jconsle:java监视和管理控制台

在jdk安装目录下的bin文件夹里,打开后如图

选择6920连接


有若干个标签页,概述,内存,线程,类,VM概要,MBean

概述中可以看到虚拟机主要运行数据的概览,包括堆内存使用情况,线程,类和CPU占用率的实时曲线图


内存标签页中可以查看不同内存区域的内存使用情况,如下图

包括堆,非堆,eden区,survivor区,老年代,永久代等内存区域的情况,同时内存标签页中也可以查看到gc的时间,以及选择的垃圾回收器等


线程标签页,可以查看到当前运行的所有线程信息,还可以监测死锁



未完待续。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值