20210310学习群知识点记录:
Q: 判断什么时候要JVM调优?
A: 要监控,要看jvm是否fgc,频繁fgc才需要优化(频繁fgc需要抓紧改配置)
具体操作:
1、echo $JAVA_HOME 查看jdk安装路径
2、进入到jdk安装路径执行bin/jps -v 查看java进程号,Bootstrap 前面的数字就是java进程号
3、bin/jstat -gcutil 19635 10000 在安装目录执行该命令就能查看到gc情况,19635是java的进程号,10000是每10秒打印一次gc信息
fgc指标如果没啥递增,就说明没啥问题
4、jps -m -l 查看当前运行的所有java应用的进程id
5、 top -Hp 19635 查看该进程下所有线程的信息
6、jmap -heap 19635 查看该进程内存堆信息
7、jmap -dump:format=b,file=/user/temp/19635.hprof 19635 打印整个堆栈信息,然后使用MAT工具进行分析
jmap -dump:live,format=b,file=/user/temp/19635.hprof 19635 live选项则仅将内存中的存活的对象写入堆转储文件,垃圾回收的不会写入
8、printf “%x\n” 19635 将十进制的pid转换为16进制,堆栈信息显示的是16进制
9、jmap -histo pid 打印堆的对象统计,包括对象数、内存大小
今天又是学废了的一天!