1.jvm相关

2020-09-11  本文已影响0人  Junma_c631

1.各个内存区域可能出现的ERROR分析

https://blog.csdn.net/z69183787/article/details/75530650

2.逃逸分析栈上分配 标量替换

https://www.jianshu.com/p/3ecc626ce304

https://www.jianshu.com/p/702eddcac053

3.jvm即时编译器

https://www.cnblogs.com/linghu-java/p/8589843.html

4.jvm调优相关

4.1查询jvm运行时参数:java -XX:+PrintFlagsFinal -version或者java -XX:+PrintFlagsFinal -version | grep ...

4.2堆溢出时导出dump文件的参数 -XX:+HeapDumpOnOutOfMemoryError

    导出dump文件的路径指定参数: -XX:+HeapDumpPath=D:\TMP\...

5.调优工具

查询java进程:jps -l

生成dump文件:jmap -dump:format=b,file=xxx.bin  pid

查看垃圾收集情况:jstat -gcutil pid intervalMills

E(占用Eden区内存的比例6.2%)YGC(新生代GC次数)YGCT(新生代GC累计耗时时间) GCT(gc总耗时)

查询gc日志:https://blog.csdn.net/liao0801_123/article/details/83022647

快速定位JVM中消耗CPU最多的线程

a.定位最耗CPU的进程:top  命令

b.定位这个进程中最耗CPU的线程:top -Hp 2103

c.查看线程信息:jstack 2103|grep 0x850  -A -30  (jstack 进程id | grep 16进制线程ID -A -30)

其中0x850是2128转换成16进制后的数字。

VisualVM的应用

https://blog.csdn.net/xunmengyou1990/article/details/107891114

SPI打破双亲委派:https://www.cnblogs.com/gllegolas/p/11760811.html

垃圾收集器

https://www.cnblogs.com/super-jing/p/10795099.html

上一篇 下一篇

猜你喜欢

热点阅读