当前位置: 首页 > article >正文

28-一些常见的内存问题

诊断内存状况

● 查看各个节点的内存状况

  • GET _cat/nodes?v
  • GET _nodes/stats/indices?pretty
  • GET _cat/nodesv&h=name,queryCacheMemory,queryCacheEvictions,requestCacheMemory,requestCacheHitCount,request_cache.miss_count
  • GET _cat/nodesh=name,port,segments.memory,segments.index_writer_memory,fielddata.memory_size,query_cache.memory_size,request_cache.memory_size&v

一些常见的内存问题

● Segments 个数过多,导致 full GC

现象:集群整体响应缓慢,也没有特别多的数据读写。但是发现节点在持续进行 Full GC

分析:查看 Elasticsearch 的内存使用,发现 segments.memory 占用很大空间

解决:通过 force merge,把 segments 合并成一个。

建议:对于不在写入和更新的索引,可以将其设置成只读。同时,进行 force merge 操作。如果问题依然存在,则需要考虑扩容。此外,对索引进行 force merge ,还可以减少对 global_ordinals 数据结构的构建,减少对 fielddata cache 的开销

● Field data cache 过大,导致 full GC

现象:集群整体响应缓慢,也没有特别多的数据读写。但是发现节点在持续进行 Full GC

分析:查看 Elasticsearch 的内存使用,发现 fielddata.memory.size 占用很大空间。同时, 数据不存在写入和更新,也执行过 segments merge。

解决:将 indices.fielddata.cache.size 设小,重启节点,堆内存恢复正常

建议:Field data cache 的构建比较重,Elasticsearch 不会主动释放,所以这个值应该设置 的保守一些。如果业务上确实有所需要,可以通过增加节点,扩容解决

● 复杂的嵌套聚合,导致集群 full GC

现象:节点响应缓慢,持续进行 Full GC

分析:导出 Dump 分析。发现内存中有大量 bucket 对象,查看 日志,发现复杂的嵌套聚合

解决:优化聚合

建议:在大量数据集上进行嵌套聚合查询,需要很大的堆内存来完成。如果业务场景确实需要。 则需要增加硬件进行扩展。同时,为了避免这类查询影响整个集群,需要设置 Circuit Breaker 和 search.max_buckets 的数值


http://www.kler.cn/a/395441.html

相关文章:

  • centos7安装Chrome使用selenium-wire
  • MySQL查询某个数据库中特定表的空间占用大小
  • LeetCode题解:5.最长回文子串【Python题解超详细,中心拓展、动态规划、暴力解法】
  • 高防服务器的费用受到哪些原因影响?
  • 鸿蒙next版开发:相机开发-适配不同折叠状态的摄像头变更(ArkTS)
  • npm list @types/node 命令用于列出当前项目中 @types/node 包及其依赖关系
  • 【SQL】E-R模型(实体-联系模型)
  • 【eNSP】路由基础与路由来源——静态路由实验
  • 数据分析24.11.13
  • 内网安全、域渗透测试工具-NetExec介绍及使用(优秀)
  • 视频编码基础入门
  • 香港科技大学广州|数据科学与分析学域硕博招生【线上】宣讲会
  • 记录一下跨域的问题,讲讲跨域
  • 一文读懂 Web 安全
  • nmap-converter转化nmap输出表格格式
  • JavaEE 重要的API阅读
  • 飞凌嵌入式RK3576核心板已适配Android 14系统
  • 一键生成本地SSL证书:打造HTTPS安全环境
  • 期权懂|上证50ETF期权的交易时间是什么时候?
  • 图像处理学习笔记20241115
  • JDK自带JVM工具
  • 大语言模型的算力共享体系中,Reduce、LayerNorm和Broadcast操作
  • 飞牛云fnOS本地部署1Panel服务器运维管理面板并搭建Halo个人博客
  • 计算机网络学习笔记-3.3以太网和局域网
  • 动手学深度学习70 BERT微调
  • ffmpeg自动手动编译安装