标签:font 机制 永久代 mod 响应 工具 16px isa 清理
监控工具:jvisualVM、VisaulVM、jprofiler
JVM优化书籍:《Java性能优化权威指南》、《深入理解java虚拟机》
1.年轻代空间不足
2.per Gen(永久代)空间满
3.CMS GC时出现promotion failed和concurrent mode failure
4.统计得到的Minor GC晋升到旧生代的平均大小大于旧生代的剩余空间等
结论:
Full GC本身是好的,可以清除老年代的垃圾,但是如果Full GC发生的频率高了,就会影响性能,同时意味着系统内存分配机制出现问题。
因为Full GC本身执行时间较长(甚至超过1秒),而且除非采用G1 GC,否则其它的GC方式都会或多或少挂起所有线程执行(Stop-the-world),如果Full GC频繁发生,系统被挂起的次数就会增加,响应时间就会变慢。
同时,Full GC频繁发生,意味着你的内存分配机制存在问题,也许是内存泄露,有大量内存垃圾不断在老年代产生;也许是你的大对象(缓存)过多;也有可能是你的参数设置不好,minor GC清理不掉内存,导致每次minor GC都会触发Full GC;还有可能是你的老年代大小参数设置错误,老年代过小等等原因
标签:font 机制 永久代 mod 响应 工具 16px isa 清理
原文地址:https://www.cnblogs.com/messpro/p/13297646.html