JVM调优总结
HotSpot Heap结构
JVM调优绕不过的人
https://blogs.oracle.com/jonthecollector
【1】is NewRatio or it’s equivalent. Number 1 would be the total heap size. And just so the guys down the hall don’t start throwing rocks at me, the 0-th most important GC tuning knob is the choice of the type of garbage collector itself. But let’s talk about number 2.
GC 最重要三个选项
Ø 选择合适的GC Collector
Ø JVM Heap大小
Ø Young generation占JVM Heap的比重
GC Collectors
注意:上图中有连线的gc collector 才可以配合使用(上图的6类GC Collector 开启详见 附录1)
Serial:最简单的collector,只有一个thread负责GC,并且,在执行GC的时候,会暂停整个程序(所谓的“stop-the-world”)
Parallel Scavenge: 和Serial相比,它的特点在于使用multi-thread来处理GC,当然,在执行的时候,仍然会“stop-the-world”,好处在于,暂停的时间也许更短
ParNew: 它基本上和Parallel Scavenge非常相似,唯一的区别,在于它做了强化能够和CMS一起使用
Serial Old:单线程,采用的是mark-sweep-compact回收方法,与Serial类似
Parallel Old:多线程的GC collector
CMS: 全称“concurrent-mark-sweep”,它是最并发,暂停时间最低的collector,之所以称为concurrent,是因为它在执行GC任务的时候,GC thread是和application thread一起工作的,基本上不需要暂停application thread
GC触发时机
YGC:eden空间不足
Comments
gavin: 你还搞java?
CT: 那是LOL