不为失败找理由,要为成功找方法。

jvm优化后好的飞起

Elasticsearch | 作者 HideOnBush | 发布于2019年06月20日 | 阅读数:3172

jvm.option文件中加入了一个-Xmn1g之后就从二十多个g变成了稳定3g左右 
以后会突发异常吗 这个原理是怎么回事
jvm.png
已邀请:

zqc0512 - andy zhou

赞同来自:

……
新生代 老生代 
你添加这参数的时候没有查询下是撒意思么?
一般都没有添加这玩意……
你木有发现 你虽然分了31G 但是一直只用了不到3G么?
 

hapjin

赞同来自:

首先看下你是使用的何种垃圾回收器?G1 还是 CMS?
我想你应该是使用CMS吧。-xmn 1G 表示将新生代的大小设置为1G
使用 jmap -heap ES_PID 应该会看到 NewRatio=2,意味着新生代与老年代的比值为1:2
因此,-xmn 将新生代设置为1G的话,那么老年代大小就只有2G了。所以堆内存加起来总共大小是3G。
 
参考: ES JVM young区和old区内存分配的问题

Pantheon

赞同来自:

新生代分了3个g,应该不不停的young gc吧,搞不好还会不停full gc

OnePunchMan - 人间有味是清欢。

赞同来自:

有没有监控下full GC的频率呢?

liujia

赞同来自:

看这个曲线 , 应该不是 G1, 而是 CMS.  楼主再确认下看.

Jokers - hi

赞同来自:

我觉得这就是设置了新生代的最大值导致的es最多只能用3G 的内存,新生代1G满了之后可能就在疯狂的GC。
按照新老1:2的比例,正好3个G。

Jokers - hi

赞同来自:

用 G1不是不建议设置 新生代的内存使用大小吗?后来你出现问题了吗?

Jokers - hi

赞同来自:

有没有不好的反馈?有什么弊端?有遇到问题吗?现在一直在健康运行吗?

要回复问题请先登录注册