如何通过jstat命令进行查看堆内存使用情况,以及jstack的使用

jstat命令可以查看堆内存各部分的使用量,以及加载类的数量。命令的格式如下:
jstat[-命令选项][vmid][间隔时间/毫秒][查询次数]
1、查看class加载统计
[root@node01 ~]# jps
7080 Jps
6219 Bootstrap

[root@node01 ~]# jstat ‐class 6219

2、查看编译统计
[root@node01 ~]# jstat ‐compiler 6219

3、垃圾回收统计
[root@node01 ~]# jstat ‐gc 6219
#也可以指定打印的间隔和次数,每1秒中打印一次,共打印5次[root@node01 ~]# jstat ‐gc 6219 1000 5

jstack的使用
有些时候我们需要查看下jvm中的线程执行情况,比如,发现服务器的CPU的负载突然增高了、出现了死锁、死循环等,我们该如何分析呢?
由于程序是正常运行的,没有任何的输出,从日志方面也看不出什么问题,所以就需要看下jvm的内部线程的执行情况,然后再进行分析查找出原因。
这个时候,就需要借助于jstack命令了,jstack的作用是将正在运行的jvm的线程情况进行快照,并且打印出来:
#用法:jstack

原创文章 23 获赞 12 访问量 1150

猜你喜欢

转载自blog.csdn.net/Cgy25/article/details/105476540
今日推荐