JVM实战调优

2020-07-04  本文已影响0人  不怕天黑_0819

首先看自己能不能回答出这些问题。


垃圾回收算法

垃圾回收算法

前六个是分代算法,G1是逻辑分代,物理不分代,ZGC是逻辑、物理都不分代

堆内存逻辑分区


年轻代使用的是copy算法,效率高。
老年代使用Mark Compact或Mark Sweep

总结

Serial Parallel Scavenge ParNew CMS CMS -从线程角度

并发标记:有错标的情况,所以在重新标记那一步解决错标情况。
也会有浮动垃圾,但是无所谓,下次标记会回收
CMS、G1、ZGC的主要区别就在于如何处理错标情况。CMS(增量更新)和G1(快照 ) 采用三色标记,ZGC采用颜色指针。
初始标记:找到根对象

三色标记法

三色标记
错标 CMS的解决方案

当A指向D的时候,把A重新标记为灰色,这样在重新标记的时候就可以找到D了

G1的解决方案

JPS、jinfo、jstack、10. jmap - histo 4655 | head -20,查找有多少对象产生
什么情况下可以用jmap?
测试环境压测、高可用下线一台机器、tcp copy到测试机、添加XX:+HeapDumpOnOutOfMemoryError

运行时内存
上一篇 下一篇

猜你喜欢

热点阅读