ES内存数据占用异常问题

Elasticsearch | 作者 abird | 发布于2016年12月06日 | 阅读数:2901

1、一次节点实时内存使用情况排查
内存分析: 
  1.  filter_cache "memory_size_in_bytes": 369668096,  约350MB
  2.  "id_cache":  "memory_size_in_bytes": 0
  3.  "fielddata": "memory_size_in_bytes": 10894611840,  约11GB
  4.  segments  "memory_in_bytes": 4427948258,     约4.5GB
  5.  percolate  "memory_size_in_bytes": -1 

 总计: <16GB
 jvm.old.used_in_bytes:22494538128 >21.5GB  
 根据Gc日志显示的情况,老年代数据在gc后没有减少现象。不知道这部分(超过5.5G)的常驻内存数据是哪来的?
 
2、一次老年代疯狂增长问题
    在最近一次节点内存爆满问题时,排查发现老年代从下午2点22G,一直飞速增长(经历多次full GC),到下午五点半时增长到29GB(总内存30GB)且无法回收。
    节点的fielddata、filter、index_buffer等配置内存上限不超过70%,正常来说不是这部分数据的问题。怀疑同问题1中,未知的内存数据占用有关。问一下,除了问题1中列举的常驻内存数据,还有那些数据会常驻内存?ES的版本为1.7.5
   
 
已邀请:

medcl - 今晚打老虎。

赞同来自:

各种buffer,还有其他的一些cache,一些内存对象和结构如查询构建的bitset等等也会用内存的。
你的集群是闲置的么,如果有其他作业,空闲内存会被尽量利用的。

要回复问题请先登录注册