在学习项目调优之前,先对一些基础信息进行学习。
通过jps命令,查看进程id.
查看堆栈信息
jmap -heap 8084
导入堆内存到本地
jmap -dump:format=b,file=eureka.hprof 10828
通过jdk自带的工具进行导入 jvisualvm
一:Jstack命令
jstack加进程id查找死锁
jstack找出占用cpu最高的线程堆栈信息
1.使用命令 top -p ,显示Java进程的内存情况。pid 是Java进程号
二:Jinfo命令
查看郑州运行的java应用程序的扩展参数
jinfo -flags 8084
查看java系统参数
jinfo -sysprops 8084
三:Jstat命令
Jstat命令可以查看堆内存各部分的使用量,以及加载类的数量。命令的格式如下:
jstat [命令选项] [vmid] [间隔时间] [查询次数]
1.垃圾回收统计
jstat -gc 8084
- S0C:第一个幸存区的大小,单位KB
- S1C:第二个幸存区的大小
- S0U:第一个幸存区的使用大小
- S1U:第二个幸存区的使用大小
- EC:伊甸园区的大小
- EU:伊甸园区的使用大小
- OC:老年代大小
- OU:老年代使用大小
- MC:方法区大小(元空间)
- MU:方法区使用大小
- CCSC:压缩类空间大小
- CCSU:压缩类空间使用大小
- YGC:年轻代垃圾回收次数
- YGCT:年轻代垃圾回收消耗时间,单位s
- FGC:老年代垃圾回收次数
- FGCT:老年代垃圾回收消耗时间,单位s
- GCT:垃圾回收消耗总时间,单位s
2.堆内存统计
jstat -gccapacity 8084
3.新生代垃圾回收统计
jstat -gcnew 8084
4.新生代内存统计
jstat -gcnewcapacity 8084
5.老年代垃圾回收统计
jstat -gcold 8084
6.老年代内存统计
jstat -gcoldcapacity 8084
7.元数据空间统计
jstat -gcmetacapacity 8084