JVM调优基础到进阶 (7)

-XX:+G1HeapRegionSize
分区大小,建议逐渐增大该值,1 2 4 8 16 32。
随着size增加,垃圾的存活时间更长,GC间隔更长,但每次GC的时间也会更长
ZGC做了改进(动态区块大小)

G1NewSizePercent
新生代最小比例,默认为5%

G1MaxNewSizePercent
新生代最大比例,默认为60%

GCTimeRatio
GC时间建议比例,G1会根据这个值调整堆空间

ConcGCThreads
线程数量

InitiatingHeapOccupancyPercent
启动G1的堆空间占用比例

作业

-XX:MaxTenuringThreshold控制的是什么?
A: 对象升入老年代的年龄
B: 老年代触发FGC时的内存垃圾比例

生产环境中,倾向于将最大堆内存和最小堆内存设置为:(为什么?)
A: 相同 B:不同

JDK1.8默认的垃圾回收器是:
A: ParNew + CMS
B: G1
C: PS + ParallelOld
D: 以上都不是

什么是响应时间优先?

什么是吞吐量优先?

ParNew和PS的区别是什么?

ParNew和ParallelOld的区别是什么?(年代不同,算法不同)

长时间计算的场景应该选择:A:停顿时间 B: 吞吐量

大规模电商网站应该选择:A:停顿时间 B: 吞吐量

HotSpot的垃圾收集器最常用有哪些?

常见的HotSpot垃圾收集器组合有哪些?

JDK1.7 1.8 1.9的默认垃圾回收器是什么?如何查看?

所谓调优,到底是在调什么?

如果采用PS + ParrallelOld组合,怎么做才能让系统基本不产生FGC

如果采用ParNew + CMS组合,怎样做才能够让系统基本不产生FGC

1.加大JVM内存

2.加大Young的比例

3.提高Y-O的年龄

4.提高S区比例

5.避免代码内存泄漏

G1是否分代?G1垃圾回收器会产生FGC吗?

如果G1产生FGC,你应该做什么?

1. 扩内存 2. 提高CPU性能(回收的快,业务逻辑产生对象的速度固定,垃圾回收越快,内存空间越大) 3. 降低MixedGC触发的阈值,让MixedGC提早发生(默认是45%)

问:生产环境中能够随随便便的dump吗?
小堆影响不大,大堆会有服务暂停或卡顿(加live可以缓解),dump前会有FGC

问:常见的OOM问题有哪些?
栈 堆 MethodArea 直接内存

如果JVM进程静悄悄退出怎么办?

JVM自身OOM导致

heap dump on oom,这种最容易解决

JVM自身故障

-XX:ErrorFile=http://www.likecs.com/var/log/hs_err_pid.log 超级复杂的文件 包括:crash线程信息 safepoint信息 锁信息 native code cache , 编译事件, gc相关记录 jvm内存映射 等等

被Linux OOM killer杀死

日志位于/var/log/messages

egrep -i 'killed process' /var/log/messages

硬件或内核问题

dmesg | grep java

找我!

如何排查直接内存

NMT打开 -- -XX:NativeMemoryTracking=detail

perf工具

gperftools

有哪些常用的日志分析工具?

gceasy

CPU暴增如何排查?

top -Hp jstack

arthas - dashboard thread thread XXXX

两种情况:1:业务线程 2:GC线程 - GC日志

死锁如何排查?

jstack 观察线程情况

arthas - thread -b

参考资料

https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html

JVM调优参考文档:

https://www.cnblogs.com/nxlhero/p/11660854.html 在线排查工具

https://www.jianshu.com/p/507f7e0cc3a3 arthas常用命令

Arthas手册:

启动arthas java -jar arthas-boot.jar

绑定java进程

dashboard命令观察系统整体情况

help 查看帮助

help xx 查看具体命令帮助

jmap命令参考: https://www.jianshu.com/p/507f7e0cc3a3

jmap -heap pid

jmap -histo pid

jmap -clstats pid

https://blog.csdn.net/chenssy/article/details/78271744 分析hotspot error file

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpdfgf.html