jvm虚拟机优化
CMS
优点:
1、程序运行的同时可以进行垃圾回收
缺点:
1、清除大对象产生内存碎片
2、会消耗额外的CPU资源
虚拟机优化参数详解
1、-XX:+UseConcMarkSweepGC 使用并发垃圾回收器
2、优化GET SET方法 -XX:UseFastAccessorMethods
3、PermenSize 设置128M -XX:LargePageSizeInBytes = 128M 采用大内存分页 CPU通过总线访问内存是慢于直接访问寄存器,cpu引入了页表寄存器缓冲
做虚拟地址和物理地址的映射,虚拟地址和物理地址分页默认大小都为4K,调大分页
4、-XX:+UseCMSCompactAtFullCollection fullgc会stop world,收集并压缩老年代,然后收集年轻一代,提升对象(如果有)并恢复世界。
5、-XX:+CMSParallelRemarkEnabled 使用并行标记方式降低停顿
6、-XX:CMSInitiatingOccupancyFraction=70 老年代堆空间使用率达到98%以后,触发fullgc
-XX:UseCMSInitiatingOccupancyOnly 使用老年代初始占用参数
7、禁用 system.gc -XX:+disableExplicitGC 禁用system.gc
(1)minor gc进入老年代的平均大小大于老年代的可用内存
(2)system.gc
(3)老年代内存不足
(4)方法区内存不足
(5)年轻代eden区 from space 像to space 区复制内存时,内存不足,将对象转存到老年代,老年代可用内存不足