是时候用 ES 拯救发际线啦

elasticSearch服务内存一直在增长,却没降下来

Elasticsearch | 作者 guojigjkill | 发布于2016年02月17日 | 阅读数:6863

前两天,生产上的ES服务所在的机器内存使用率到达了95%左右,之后服务器一直维持在这个水平,但我觉得这个占用率太高了。
 
环境描述:
ES所在服务器内存为12G,ES服务初最大内存设置为6G
 
因为对ES内存这块不是很了解,不敢贸然减少最大内存,看了网上的一些资料,重启了下ES,重启后,ES所在服务器内存下降明显,降为50%左右。
 
在这里,我有些疑问,希望大家能多多指教:
1) 为啥es已经设置了最大内存,但是后面其进程占用的内存却远远大于6G?
2) es的内存管理机制是怎样的,为啥我的服务内存一直在增加,却不会释放?
已邀请:

zhangrui90 - z

赞同来自:

1. 那是 jvm heap size 不是 es 所能使用的最大内存
2. gc 就会释放一部分内存

zttech

赞同来自:

我记得三斗室转了篇wood的文章,我找给你

zttech

赞同来自:

http://elasticsearch.cn/article/32
就是这个,看完了你就明白了

medcl - 今晚打老虎。

赞同来自:

es使用的什么版本呢?

camuss

赞同来自:

是不是一直在index数据?并且数据有nested结构?

tulong - 80 IT

赞同来自:

大佬 问题是怎么解决的?
看了wood大叔的那篇文章,还是没定位到问题。
1、我查看了segment占用集群总内存,才几十M。同时query_cach,request_cach都很小。
2、jvm内存分配的30G,从监控及统计结果看,使用率在70%;
但是目前从监控看,es占用总的系统内存超过90%。通过/_nodes/stats看,占用也是超过90%
 
 

要回复问题请先登录注册