使用 man ascii 来查看 ASCII 表。

无法解决了: 线上环境Es半个月左右,32G的堆内存就会升满, 频繁GC但是内存不降, 有内存图

Elasticsearch | 作者 yetao | 发布于2019年06月28日 | 阅读数:6456

环境: Es版本是1.3.4,比较低的版本;  线上环境三台Es集群,机器64G, Es分配32G内存;
 
奇怪的事同样的配置, 压测的性能环境却一直无法复现.  压测环境服务器器32G, Es分配内存16G
 
初学ES遇到这个问题, 真的有点棘手啊,望大佬指些明路呀
线上问题:
系统监控Es内存
es监控.png


Es GC日志

esGC.png


 
已邀请:

code4j - coder github: https://github.com/rpgmakervx

赞同来自: dotNetDR_ yetao

1. 你这个集群版本也太低了,建议把数据切到新版本。
2. 内存快满之前,用es的api查看下是哪部分内存占得多,是segment的话就说明索引太多太大,清理下数据。

yuechen323 - 晨儿哥

赞同来自: ridethewind

2019年还1.x呢,比如现在用jdk1.4会不会被喷死,如果公司层面的,望早跳槽

cztchoice - life

赞同来自:

ES内存改成30G或者31G?
 
不是有很多网站说不要配置成超过31G

well

赞同来自:

用 G1 GC 看看,操作系统层面的调优也要做。

ziyou - 一个学习ELK的Java程序员

赞同来自:

你可以从查询方面入手查看一下,是不是有大量消耗内存的查询,一般使用聚合的时候对大量值的字段做去重聚合就比较消耗内存。

shitangjiejie

赞同来自:

你就三台es集群的话,建议升级es版本吧,也挺方便的,或者考虑优化下mapping(个人感觉对你作用应该不大)

Merrizee

赞同来自:

开内存交换

wushi

赞同来自:

可以开下慢查询,看看是那些查询比较耗资源
匿名用户

匿名用户

赞同来自:

没救了。

Merrizee

赞同来自:

为什么不问问神奇的也掏?

要回复问题请先登录注册