1. 近期遇到一个ES内存居高不下的问题,查了查,发现ES有个fielddata,当你发起一个查询,分析字符串的聚合将会被加载到 fielddata,如果这些字符串之前没有被加载过。如果结果中 fielddata 大小超过了指定 大小 ,其他的值将会被回收从而获得空间。默认情况下,设置都是 unbounded ,Elasticsearch 永远都不会从 fielddata 中回收数据。设想我们正在对日志进行索引,每天使用一个新的索引。通常我们只对过去一两天的数据感兴趣,尽管我们会保留老的索引,但我们很少需要查询它们。不过如果采用默认设置,旧索引的 fielddata 永远不会从缓存中回收! fieldata 会保持增长直到 fielddata 发生断熔,这样我们就无法载入更多的 fielddata。这个时候,我们被困在了死胡同。但我们仍然可以访问旧索引中的 fielddata,也无法加载任何新的值。相反,我们应该回收旧的数据,并为新值获得更多空间。设置indices.fielddata.cache.size参数就是一个比较好的解决方案。另外设置bootstrap.mlockall: true可以允许 JVM 锁住内存,禁止操作系统交换出去,从而提高性能。

监控节点:GET _nodes/stats

监控集群:GET _cluster/stats

参考文档:

1. https://www.elastic.co/guide/cn/elasticsearch/guide/current/_limiting_memory_usage.html  限制ES内存使用

2. https://www.elastic.co/guide/cn/elasticsearch/guide/current/heap-sizing.html 堆内存设置

3. https://www.elastic.co/guide/cn/elasticsearch/guide/current/_monitoring_individual_nodes.html 监控信息

最新文章

  1. CentOS7中安装Python3.5
  2. 使用PHPExcel导入Excel到MySql
  3. zoj The 12th Zhejiang Provincial Collegiate Programming Contest Demacia of the Ancients
  4. hdu 2897(威佐夫博奕变形)
  5. 7个热门开源PHP框架
  6. kafka初探
  7. 使用JavaMail发送和接收电子邮件
  8. TCP通信中的大文件传送
  9. nodejs,http,get,post,请求
  10. centos网络配置方法(手动设置,自动获取)
  11. JavaScript中call和apply方法的使用
  12. 【MySql】delete用法
  13. 利用unittest+ddt进行接口测试(二):使用yaml文件管理测试数据
  14. 服务发现:Zookeeper vs etcd vs Consul 参考自http://dockone.io/article/667
  15. “全栈2019”Java多线程第二十八章:公平锁与非公平锁详解
  16. 关于Unity中网格导航与寻路
  17. Python闭包装饰器笔记
  18. 关于GDI+的一些使用基础设置
  19. Spark+IDEA单机版环境搭建+IDEA快捷键
  20. JavaScript In OA Framework

热门文章

  1. Linux设备驱动--内存管理
  2. 后台传入的boolean类型到前台alert为String类型了(解决方法)
  3. 12:django 模板 内建过滤器
  4. z-index失效的情况
  5. C#取出字符串中的数字或字母
  6. hdu 1133(卡特兰数变形)
  7. CSS 绝对居中方案
  8. 关于Vue-cli的跨域解决
  9. Maven 管理的WEB项目发布到Tomcat上
  10. 洛谷P3038 牧草种植 [树链剖分]