文章目录
1:jps -l 查看进程号
2:jstack 进程号 打印jvm中线程、堆栈信息快照
3:jinfo 进程号 查看虚拟机赋过值的配置参数信息
4:jmap -dump 生成java堆转储快照dump文件
1:示例1:jmap -dump:format=b,file=/存放文件的路径/文件名 进程号
jmap -dump:format=b,file=/home/temp/20210116.out 1996
(另外一个命令:jcmd pid GC.heap_dump /home/temp/20210116.out )
示例2:只保存堆中存活的对象
jmap -dump:live,format=b,file=/存放文件的路径/文件名 进程号
2:关于 自动方式 的相关说明及参数
5:jmap -heap pid和jmap -histo pid。(属于某个时间点的监控信息,不是连续的监控)
1:可以用 -histo 命令写入指定的文件中可以当作临时的dump文件使用
jmap -histo 2736 > d:/1.txt
6:jmap生成dump文件后用java自带的工具jvisualvm.exe导入分析
1:生成dump文件
2:打开jvisualvm.exe并导入刚才生成的离线文件
7:jstat 查看jvm统计信息
(1)-class 显示classLoader的相关信息,类的装载、卸载数量、总空间、类装载所消耗的时间。
(2) -t 显示从启动到现在的总执行时间(Timestamp-秒)
jstat -class -t 进程id
(3) -gc 显示与GC相关的的堆信息。包括Eden区、两个Survivor区、老年代、永久代等的容量、已用空间、GC时间合计等信息。
各个参数的含义:
(4)-h 打印头信息
jstat -gc -h3 15196 1000 8 解释和示例如下:
-h3:每隔3三行打印头信息
1000:每隔1秒打印一次
8:一共打印8次
(5)-gcutil 显示内容与-gc基本相同,但输出主要关注已使用空间占总空间的百分比。
(6)其他相关命令
(7)两个经验之谈B站收藏第310节