前言: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 时间过长的解决方法的更多相关文章

  1. vs调试windows mobile程序时布署时间太长的解决办法

    vs调试windows mobile程序时布署时间太长的解决办法 1.VS平台上,选工具-选项-项目和解决方案-MS BUILD项目生成输出详细信息中选择“诊断”,目的是在调试窗口中看出哪个过程编译的 ...

  2. (转)调用System.gc没有立即执行的解决方法

    调用System.gc没有立即执行的解决方法 查看源码 当我们调用System.gc()的时候,其实并不会马上进行垃圾回收,甚至不一定会执行垃圾回收,查看系统源码可以看到 /** * Indicate ...

  3. VirtualBox虚拟机内的系统时间无法调整的解决方法

    VirtualBox虚拟机内的系统时间无法调整的解决方法   因试用某软件要求将系统时间设置在特定的日期,利用windows自带的调整日期/时间功能进行设置,发现过几秒钟就又恢复到和主机相同的时间了, ...

  4. JVM 调优 —— GC 长时间停顿问题及解决方法

    零. 简介 垃圾收集器长时间停顿,表现在 Web 页面上可能是页面响应码 500 之类的服务器错误问题,如果是个支付过程可能会导致支付失败,将造成公司的直接经济损失,程序员要尽量避免或者说减少此类情况 ...

  5. Nagios状态长时间处于Pending的解决方法

    1 nagios 守护进程引起的一系列问题 1 影响nagios web页面收集监控信息 致使页面出现时而收集不到服务信息 2 影响pnp查看图形化,出图缓慢 3 影响查看服务状态信息,致使有时候查看 ...

  6. idea svn提交时,performing vcs refresh时间很长的解决办法

    解决方法:version control -> local changes -> local changelist 列表中无用的文件或文件夹右键选择svn忽略 ps:原因是文件太多,导致对 ...

  7. svn查看日志(show log)显示时间为1970的解决方法

    问题: 在修改文件后show log无法显示日志,上面的时间会自动在2016年和1970年间跳,而且设置不了时间.解决方法:1.编辑svnserve.conf,设置“anon-access=none” ...

  8. CentOS系统时间与现在时间相差8小时解决方法

    很多网友在安装完CentOS系统后发现时间与现在时间相差8小时,这是由于我们在安装系统的时选择的时区是上海,而CentOS默认bios时间是utc时间,所以时间相差了8小时.这个时候的bios的时间和 ...

  9. 使用elasticsearch遇到的一些问题以及解决方法(不断更新)

    7.org.elasticsearch.transport.RemoteTransportException: Failed to deserialize exception response fro ...

随机推荐

  1. Android恶意样本数据集汇总

    硕士论文的研究方向为Android恶意应用分类,因此花了一点时间去搜集Android恶意样本.其中一部分来自过去论文的公开数据集,一部分来自社区或平台的样本.现做一个汇总,标明了样本或数据集的采集时间 ...

  2. MRT与MRTS工具官宣退休,推荐使用HEG

    今天错误的删除搞丢了之前下载的MRT与MRTS工具,浏览Modis官网下载时发现找不到了,后来在其官网上发现了这则通知,原来早已停止更新的MRT这次彻底退修了.通知原文如下~~~ The downlo ...

  3. Linux内核第五节 20135332武西垚

    20135332武西垚 在MenuOS中通过添加代码增加自定义的系统调用命令 使用gdb跟踪调试内核 简单分析system_call代码了解系统调用在内核代码中的处理过程 由于本周实验是在Kali虚拟 ...

  4. 转发:C#操作SQL Server数据库

    转发自:http://www.cnblogs.com/rainman/archive/2012/03/13/2393975.html 1.概述 2.连接字符串的写法 3.SqlConnection对象 ...

  5. Apache+php安装和配置 windows

    Apache+php安装和配置 windows Apache 安装 1.官网网址:http://httpd.apache.org/ 2.Download 3.点击链接Files for Microso ...

  6. JSON数据格式解析

    JSON数据的语法规则 1.数据以键值对的形式 2.数据由逗号分隔 3.花括号保存对象 4.方括号保存数组 以PHP的数组为例: <?php $arr = array( "aaaa&q ...

  7. spring-web-4.3.3与spring-webmvc-4.3.3的区别

    spring-web-4.3.3 http(http协议的实现类)和web包(应用,上下文,会话,cookies,过滤器等等) spring-webmvc-4.3.3 主要是一些view层的核心封装, ...

  8. Jmeter 发测试报告到邮箱,expand/collapse 图片不显示

    由于发送到邮箱中html文件是不包含expand/collapse 资源文件的,所以导致邮箱中这两个图片没有显示,解决方法有两种: 1. 使用http能访问的图片链接地址 修改change中的图片资源 ...

  9. node的经典事件监听

    let fs = require('fs'); let Event = require('events'); let myEvent = new Event(); //注册一个订阅者 A myEven ...

  10. GS环境里面 9999 常用密码的加密后的值

    1. Test6530 APTZ5s6vrw1dglqO/63osA== 2. aaaaaa zgnewZXGGoqcPGtNpXTSXQ== 3. cwpass 3Me34S0+zY4xEGUFtz ...