码迷,mamicode.com
首页 > 编程语言 > 详细

Java虚拟机学习 - 垃圾收集器

时间:2019-01-07 21:08:14      阅读:273      评论:0      收藏:0      [点我收藏+]

标签:search   https   cup   archive   strong   问题   进程   设定   内存碎片   

在网上看到两篇不错的文章,由于博主原创,这里只贴地址,希望能帮助大家!

https://blog.csdn.net/java2000_wl/article/details/8030172

https://www.cnblogs.com/redcreen/archive/2011/05/04/2037057.html

这个图表很重要!!!

 技术分享图片

另外补充一下,查看了一些elasticsearch进程的启动参数

-XX:CMSInitiatingOccupancyFraction=75  -XX:+UseCMSInitiatingOccupancyOnly -XX:+AlwaysPreTouch

    前两个设置配合使用,一般用于『降低CMS GC频率』的需求

   -XX:CMSInitiatingOccupancyFraction=75 是指设定CMS在对内存占用率达到75%的时候开始GC(因为CMS会有浮动垃圾,所以一般都较早启动GC);

   -XX:+UseCMSInitiatingOccupancyOnly 只是用设定的回收阈值(上面指定的75%),如果不指定,JVM仅在第一次使用设定值,后续则自动调整;

   -XX:+AlwaysPreTouch  JAVA进程启动的时候,虽然我们可以为JVM指定合适的内存大小,但是这些内存操作系统并没有真正的分配给JVM,而是等JVM访问这些内存的时候,才真正分配,这样会造成以下问题。 

  1、GC的时候,新生代的对象要晋升到老年代的时候,需要内存,这个时候操作系统才真正分配内存,这样就会加大young gc的停顿时间;
  2、可能存在内存碎片的问题。

Java虚拟机学习 - 垃圾收集器

标签:search   https   cup   archive   strong   问题   进程   设定   内存碎片   

原文地址:https://www.cnblogs.com/1ning/p/10234883.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!