vlambda博客
学习文章列表

java虚拟机——性能监控命令

java虚拟机讲解第三篇

1、讲解内容逻辑梳理图:

逻辑图为百度脑图,以下为原图连接:http://naotu.baidu.com/file/d1bd764534b0bfef8b9abbca8df577ef?token=b07617d4bac4e905

2、内容详细讲解:

2.1、性能监控常用命令如下:

2.1.1、jps:显示当前系统内所有的HotSpot虚拟机进程,使用方式如:jps -l。

2.1.2、jstat:收集HotSpot虚拟机各方面的运行数据,使用方式如:jstat -gc 2733 200 20,监控2733进程id的java堆状况。每200毫秒监控一次,一共监控20次。

2.1.3、jinfo:显示虚拟机配置信息,运行期可进行参数的修改,使用方式如:jinfo -flag CMSInitiatingOccupancyFraction 1444,查看CMS收集器在内存使用量达到多少时进行垃圾回收。

2.1.4、jmap:生成虚拟机的内存转储快照(heapdump文件),使用方式如:jmap -dump:format=b,file=eclipse.bin 3500。

2.1.5、jhat:用于分析heapdump文件,在分析文件时会建立http服务,用户可通过浏览器进行查看,使用方式如:jhat eclipse.bin。

2.1.6、jstack:显示虚拟机的线程快照,该命令在排查线程问题时使用较多,用于定位线程长时间停顿原因,一般是由于死锁、死循环、请求外部资源等待时间过长等问题,使用方式如:jstack -l 2300。



往期回顾:

3)、java虚拟机——性能监控常用命令(图文方式讲解性能监控常用命令)

4)、java虚拟机——class类文件结构(图文方式讲解类文件结构内容)

5)、java虚拟机——类加载机制(图文方式讲解类加载过程)

6)、java虚拟机——虚拟机字节码执行引擎(图文方式讲解字节码执行过程)

7)、java虚拟机——java文件编译过程(图文方式讲解java文件编译过程)

8)、java虚拟机——即时编译器和解释器(图文方式讲解即时编译器和解释器的工作内容)

9)、java虚拟机——内存模型和线程(图文方式讲解内存模型和线程内容)

10)、java虚拟机——线程安全与锁优化(图文方式讲解线程安全及锁优化内容)