Elasticsearch GC 时间过长的解决方法
前言:GC 时间过长是个常见的问题,下文我将对应的现象和解决方案进行阐述。为什么这么解决,可以参考我的另外一个博客中的内存使用和GC指标这个章节
我们有时会发现elasticsearch集群挂掉,或者有点数据节点脱离集群,这里有可能是GC方面的原因,实质是内存的原因。
一、日志表现
[2017-06-22 23:56:51,008][WARN ][monitor.jvm ] [data-vm0] [gc][old][5214195][124260] duration [22.4s], collections [1]/[23s], total [22.4s]/[4.2d], memory [13gb]->[13gb]/[13.6gb], all_pools {[young] [21.7mb]->[25.2mb]/[532.5mb]}{[survivor] [0b]->[0b]/[66.5mb]}{[old] [13gb]->[13gb]/[13gb]}
[2017-06-22 23:57:21,419][WARN ][monitor.jvm ] [data-vm0] [gc][old][5214196][124261] duration [29.6s], collections [1]/[30.4s], total [29.6s]/[4.2d], memory [13gb]->[13gb]/[13.6gb], all_pools {[young] [25.2mb]->[32.7mb]/[532.5mb]}{[survivor] [0b]->[0b]/[66.5mb]}{[old] [13gb]->[13gb]/[13gb]}
[2017-06-22 23:57:43,963][WARN ][monitor.jvm ] [data-vm0] [gc][old][5214197][124262] duration [22.3s], collections [1]/[22.5s], total [22.3s]/[4.2d], memory [13gb]->[12.9gb]/[13.6gb], all_pools {[young] [32.7mb]->[19.4mb]/[532.5mb]}{[survivor] [0b]->[0b]/[66.5mb]}{[old] [13gb]->[12.9gb]/[13gb]}
[2017-06-22 23:58:14,390][WARN ][monitor.jvm ] [data-vm0] [gc][old][5214198][124263] duration [30.1s], collections [1]/[30.4s], total [30.1s]/[4.2d], memory [12.9gb]->[13gb]/[13.6gb], all_pools {[young] [19.4mb]->[28.5mb]/[532.5mb]}{[survivor] [0b]->[0b]/[66.5mb]}{[old] [12.9gb]->[13gb]/[13gb]}
[2017-06-22 23:58:37,356][WARN ][monitor.jvm ] [data-vm0] [gc][old][5214199][124264] duration [22.5s], collections [1]/[22.9s], total [22.5s]/[4.2d], memory [13gb]->[13gb]/[13.6gb], all_pools {[young] [28.5mb]->[9.9mb]/[532.5mb]}{[survivor] [0b]->[0b]/[66.5mb]}{[old] [13gb]->[13gb]/[13gb]}
[2017-06-22 23:59:07,774][WARN ][monitor.jvm ] [data-vm0] [gc][old][5214200][124265] duration [29.9s], collections [1]/[30.4s], total [29.9s]/[4.2d], memory [13gb]->[13gb]/[13.6gb], all_pools {[young] [9.9mb]->[1.3mb]/[532.5mb]}{[survivor] [0b]->[0b]/[66.5mb]}{[old] [13gb]->[13gb]/[13gb]}
[2017-06-22 23:59:40,430][WARN ][monitor.jvm ] [data-vm0] [gc][old][5214205][124266] duration [27.6s], collections [1]/[28.6s], total [27.6s]/[4.2d], memory [13.5gb]->[13gb]/[13.6gb], all_pools {[young] [515.7mb]->[73.7mb]/[532.5mb]}{[survivor] [0b]->[0b]/[66.5mb]}{[old] [13gb]->[13gb]/[13gb]}
二、解决办法
出现上述情况的日志,说明节点正在承受内存方面的压力。
1.增加节点的内存,纵向分担压力(%50的RAM 并不大于32G)
2.增加节点数量,横向分担压力
NOTE: 可能有些小伙伴会清理caches来减轻压力。我认为此处清理cache是不管用的,因为下次查询的时候 fielddata 会被reload。
Elasticsearch GC 时间过长的解决方法的更多相关文章
- vs调试windows mobile程序时布署时间太长的解决办法
vs调试windows mobile程序时布署时间太长的解决办法 1.VS平台上,选工具-选项-项目和解决方案-MS BUILD项目生成输出详细信息中选择“诊断”,目的是在调试窗口中看出哪个过程编译的 ...
- (转)调用System.gc没有立即执行的解决方法
调用System.gc没有立即执行的解决方法 查看源码 当我们调用System.gc()的时候,其实并不会马上进行垃圾回收,甚至不一定会执行垃圾回收,查看系统源码可以看到 /** * Indicate ...
- VirtualBox虚拟机内的系统时间无法调整的解决方法
VirtualBox虚拟机内的系统时间无法调整的解决方法 因试用某软件要求将系统时间设置在特定的日期,利用windows自带的调整日期/时间功能进行设置,发现过几秒钟就又恢复到和主机相同的时间了, ...
- JVM 调优 —— GC 长时间停顿问题及解决方法
零. 简介 垃圾收集器长时间停顿,表现在 Web 页面上可能是页面响应码 500 之类的服务器错误问题,如果是个支付过程可能会导致支付失败,将造成公司的直接经济损失,程序员要尽量避免或者说减少此类情况 ...
- Nagios状态长时间处于Pending的解决方法
1 nagios 守护进程引起的一系列问题 1 影响nagios web页面收集监控信息 致使页面出现时而收集不到服务信息 2 影响pnp查看图形化,出图缓慢 3 影响查看服务状态信息,致使有时候查看 ...
- idea svn提交时,performing vcs refresh时间很长的解决办法
解决方法:version control -> local changes -> local changelist 列表中无用的文件或文件夹右键选择svn忽略 ps:原因是文件太多,导致对 ...
- svn查看日志(show log)显示时间为1970的解决方法
问题: 在修改文件后show log无法显示日志,上面的时间会自动在2016年和1970年间跳,而且设置不了时间.解决方法:1.编辑svnserve.conf,设置“anon-access=none” ...
- CentOS系统时间与现在时间相差8小时解决方法
很多网友在安装完CentOS系统后发现时间与现在时间相差8小时,这是由于我们在安装系统的时选择的时区是上海,而CentOS默认bios时间是utc时间,所以时间相差了8小时.这个时候的bios的时间和 ...
- 使用elasticsearch遇到的一些问题以及解决方法(不断更新)
7.org.elasticsearch.transport.RemoteTransportException: Failed to deserialize exception response fro ...
随机推荐
- JDK8漫谈——集合更强大
解决什么问题 集合计算不足 解决重复代码 背后思想 管道 封装 数据处理 内容说明 是什么 计算担当.集合用于数据存储,流用于数据计算,不会修改原始数据 内置循环.高级迭代器,内置循环和计算 单向.数 ...
- KVM虚拟机管理——虚拟机克隆
1. 概述2. 部署基本操作系统虚拟机3. 配置虚拟机3.1 修改/etc/sysconfig/network3.2 删除/etc/sysconfig/network-scripts/ifcfg-et ...
- Puppet常识梳理
Puppet简单介绍 1)puppet是一种Linux/Unix平台下的集中配置管理系统,使用自有的puppet描述语言,可管理配置文件.用户.cron任务.软件包.系统服务等.puppet把这些系统 ...
- iOS网络请求安全认证(JWT,RSA)
在网络世界中,安全是一个很重要的问题,以往的HTTP请求已经不能承担这个安全任务,抓包工具一抓,你的所有网络请求全都曝光.当然,你可能会采用加密算法来加密数据,但是这仍然不够. 在移动端和服务器的通信 ...
- 【2016.4.6】结对编程 终章 THE END
- WEEK 7:团队项目的感想
经过了几个星期的团队协作,我们的“爬虫”有了很大的完善,我作为团队中的主DEV,在这个过程中一边工作一边阅读,也有了不少的收获. Brooks的<没有银弹>告诉我们,在软件领域,没有什么绝 ...
- github作业
链接: https://github.com/liuyu13/liuyu13-1 总结:git可以学习的东西还有很多.git协议,分布式协作,git项目管理,git技巧,github的使用和实践, ...
- String系列-----AbstractStringBuilder
1. AbstractStringBuilder是StringBuffer和StringBuilder的父类 package com.amazing.jdk.string_2017_12_31; im ...
- C++与C的区别
在最开始C++只是C加上了一些面向对象的特性,C++最初的名字为C with Classes.后来C++又提出了一些不同于Class的特性:Exceptions(异常).templates(模板).S ...
- MongoDb在windows10下的安装、创建用户和数据库
1.mongodb下载地址https://www.mongodb.com/download-center#community 2.安装 3.在D:\MongoDB目录下创建db和log两个文件夹 ...