linux 下使用命令查看jvm信息

java程序员除了编写业务代码之外,特别是项目上线之后,更需要关注的是系统的性能表现,这个时候就需要了解一下jvm的性能表现了,可以借助于java虚拟机自带的一些分析工具,主要有三个常用的命令。

1. jmap

    这个命令是用来查看jvm中当前的堆的dump的,包括对象的数量,对象所占内存的大小

    使用方式:先使用jps查看进程id

    

    使用 jmap -dump:live,file=b.map 22467

    

    使用 jmap -heap 打印堆的总信息

    使用 jmap -histo PID

    

2. jstat

   主要是用来监控 heap size 和 jvm垃圾回收情况的


可以看到S0 S1 heap上的Survivor space使用的百分比, 堆中新生代Eden 区使用的百分比,老年代 Old使用的百分比,Yong gc次数,时间,Full gc次数以及时间,总的gc时间

3. jstack

   先使用 top 查看系统中消耗cpu比较多的进程,然后使用 top -p PID -H来查看当前进程中比较消耗cpu的线程,拿到消耗cpu比较高的线程pid,先转换成16进制的,最后使用jstack pid|grep 16进制的线程id


jstack -pid可以用来分析进程情况


猜你喜欢

转载自blog.csdn.net/T2080305/article/details/80855831