JVM优化策略
1、由于fullGC比minorGC的成本高很多,因此尽量将new的对象放在新生代中。策略是将新生代空间调大,因为新生代太小,则系统会将对象放到老年代。
2、大对象进入老年代。因为如果大对象占用了新生代空间,则会导致系统将大量小的新生代对象放入到老年代中,这对GC来说很不利。因此尽量避免使用短命的大对象。-XX:PretenureSizeThreshold设置对象进入老年代的阀值,对象大小超过这个值就直接进入老年代。
3、设置对象进入老年代的年龄。每经历一次GC,对象的年龄就+1,-XX:MaxTenuringThreshold设置进入老年代的最大年龄。
4、吞吐量最佳方案:Xmn (新生代大小)一般占整个堆大小(xmx)的一半,-XX:+UseParallelGC新生代用并行回收收集器,-XX:+UseParallelOldGC老年代用并行回收收集器,-XX垃圾回收线程数:一般设置为CPU总数(总核数)
还没有评论,来说两句吧...