elasticsearch 内存分配设置
一、背景
elasticsearch版本为2.3.3
elasticsearch 默认安装后设置的内存是1GB,对于现实业务来说太小
预计在五台机器上配置elasticsearch构建集群,但是构建索引嫌搜索速度太慢,猜测是机器内存没有被es充分利用
二、步骤
ubuntu查看当前elasticsearch使用内存
- 运行elasticsearch
- 命令行输入: ps -ef|grep elasticsearch 或者 ps -ef|grep java

- 找到-Xms和-Xmx两个参数,后面跟的数字和单位就是当前es运行的内存配置,图中是已设置好的24G
查看es所在机器的内存大小
- windows:
一般在桌面——我的电脑——右键——属性能看到 - ubuntu:
- 命令行输入top
- 查看KiB Mem位置,若没有+看第6位和7位,例如图中是约49G内存,如果后面跟了+号,多算一位,即493G

- windows:
确定要设置的内存大小,假如内存小于64G,确定两个参数为1/2内存;若内存大于64G,取32G,两个参数设置的大小建议一致
参考文章: https://www.pdai.tech/md/db/nosql-es/elasticsearch-y-peformance.html#禁止-swap为es设置内存分配参数
网上设置方法:- 第一种: 设置环境变量:export ES_HEAP_SIZE=4g (未试过)
- 第二种: 在程序启动的时候把内存大小传递给它:./bin/elasticsearch -Xmx4g -Xms4g (试过,不起作用)
- 第三种: 修改jvm.options文件,此文件一般在安装目录下,或者使用 whereis elasticsearch 命令.将其中-Xms4g和-Xmx4g注释#去掉 (未试过)
实际成功方法:
第四种:
- 进入elasticsearch的bin目录,找到elasticsearch.in.sh这个文件

- 修改红线标出的ES_MIN_MEM和ES_MAX_MEM的值,保存,正常运行即可
- 进入elasticsearch的bin目录,找到elasticsearch.in.sh这个文件
elasticsearch 内存分配设置的更多相关文章
- Elasticsearch内存分配设置详解
Elasticsearch默认安装后设置的内存是1GB,对于任何一个现实业务来说,这个设置都太小了.如果你正在使用这个默认堆内存配置,你的集群配置可能会很快发生问题. 这里有两种方式修改Elastic ...
- Elasticsearch内存分配设置详解(转)
Elasticsearch默认安装后设置的内存是1GB,对于任何一个现实业务来说,这个设置都太小了.如果你正在使用这个默认堆内存配置,你的集群配置可能会很快发生问题.这里有两种方式修改Elastics ...
- elasticsearch内存优化设置
1.禁用交换分区 最简单的选项是完全禁用交换,通常elasticsearch是在框上运行的唯一服务,内存由ES_HEAP_SIZE环境变量控制,设有必要启用交换分区 linux:swapoff -a ...
- 【Five-Minute Share】数据库内存分配设置
对于数据库分配的内存,经常会看到的一条准则是:将服务器75-80%的内存分配给数据库.这是一条比较常见的准则,但并不是绝对的.首先,我们需要保障操作系统运行本身所需的充足内存后,才能去考虑数据库所分配 ...
- Java深入 - Java 内存分配和回收机制
Java的GC机制是自动进行的,和c语言有些区别需要程序员自己保证内存的使用和回收. Java的内存分配和回收也主要在Java的堆上进行的,Java的堆中存储了大量的对象实例,所以Java的堆也叫GC ...
- JVM内存的设置
一.JVM内存的设置的原理 默认的java虚拟机的大小比较小,在对大数据进行处理时java就会报错:java.lang.OutOfMemoryError. 设置jvm内存的方法,对于单独的.class ...
- Java深入 - Java 内存分配和回收机制-转
Java的GC机制是自动进行的,和c语言有些区别需要程序员自己保证内存的使用和回收. Java的内存分配和回收也主要在Java的堆上进行的,Java的堆中存储了大量的对象实例,所以Java的堆也叫GC ...
- java dump 内存分析 elasticsearch Bulk异常引发的Elasticsearch内存泄漏
Bulk异常引发的Elasticsearch内存泄漏 2018年8月24日更新: 今天放出的6.4版修复了这个问题. 前天公司度假部门一个线上ElasticSearch集群发出报警,有Data Nod ...
- 《深入理解Java虚拟机》内存分配策略
上节学习回顾 1.判断对象存活算法:引用计数法和可行性分析算法 2.垃圾收集算法:标记-清除算法.复制算法.标记-整理算法 3.垃圾收集器: Serial:新生代收集器,采用复制算法,单线程. Par ...
- JVM内存分配策略
在 JVM内存垃圾回收方法 中,我们已经详细讨论了内存回收,但是,我们程序中生成的对象是如何进行分配的呢?以下所述针对的是HotSpot虚拟机. 1.Java堆结构 以HotSpot为例,如下图: H ...
随机推荐
- golang在win10安装、环境配置 和 goland(IDE开发golang配置)
前言 本人在使用goland软件开发go时,对于goland软件配置网上资料少,为了方便自己遗忘.也为了希望和我一样的小白能够更好的使用,所以就写下这篇博客,废话不多说开考. 一.查看自己电脑系统版本 ...
- CTFshow——funnyrsa1的wp理解
题目如下: 题目分析: 拿到题,发现给的e不常规,p1和p2相等,有两个不同n,两个不同c和两个不同e.给定两个密文的情况下,通常需要找到两者之间存在的关系,"合并"密文求解才能得 ...
- 一个实现单线程/多线程下代码调用链中传递数据的处理类: CallContext(LogicalSetData,LogicalGetData),含.net core的实现
详情请参考原文:一个实现单线程/多线程下代码调用链中传递数据的处理类: CallContext
- [常用工具] OpenCV获取网络摄像头实时视频流
所需要硬件及软件环境: python 3/OpenCV3.4 or C++11/OpenCV3.4 1 RTSP协议 RTSP (Real Time Streaming Protocol),是一种语法 ...
- 《STL源码剖析》traits技法分析
在完成一个迭代器的时候,我们可能会暴露太多的细节在外面,为了将这些细节给隐藏,我们需要封装,这也是为什么每一种STL容器都提供了一种专属的迭代器. 为了解决以"迭代器所指对象的型别" ...
- 题解P4474 王者之剑
双倍经验 简要题意 给你一个 \(n\times m\) 的网格,数字在格子里,你需要取出一些格子,使得任意两个格子之间没有公共边,输出格子中的数字和的最大值. \(1 \le n,m \le 100 ...
- YMOI 2019.6.22
题解 YMOI 2019.6.22 lia麦頔溜了,缺了lia麦頔的排名仅供参考 不过分数还是暴露无遗 T1 邪恶入侵 简易题干: 在三维空间内有一些点,点之间有双向边.每一次询问给出一个m,只有边权 ...
- flutter 1.升级2.X在模型类中序列化JSON报错Non-nullable instance field 'title' must be initialized.
flutter 1.升级2.X在模型类中序列化JSON报错 Non-nullable instance field 'title' must be initialized. Try adding an ...
- js节流防抖 减少服务器请求
- OpenStack命令行参考
OpenStack命令行参考 hello,大家好,这里是费冰.在使用OpenStack的过程中,固然我们可以通过 web 页面完成绝大多数的操作,但作为管理人员,不能不知晓 OpenStack 命令行 ...