elasticsearch开启内存锁定

在elasticsearch配置文件中,如果没有修改bootstrap.memory_lock 参数的话,默认为false,会导致elasticsearch缓存的文件频繁的被交换出去,从而导致在查询过程中频繁的读取磁盘,磁盘IO很高。

如何开启内存锁定?
以下修改均是基于CentOS 7.3系统

官网地址:https://www.elastic.co/guide/en/elasticsearch/reference/7.3/setting-system-settings.html#limits.conf

第一步:修改elasticsearch配置文件

# 将此项配置注释打开,不打开注释的话,默认是false
bootstrap.memory_lock: true

第二步:修改系统内存限制
在/etc/security/limit.conf 文件添加配置,这里主要配置是memlock改为unlimited,可以指定elasticsearch用户,这里是全部用户。

*                hard    nofile          65536
*                soft    nofile          65536
*                hard    nproc           65536
*                soft    nproc           65536
*                hard    memlock         unlimited
*                soft    memlock         unlimited

第三步:修改系统配置
这一步很多文档是要求需改/etc/systemd/system.conf,而这里是根据官网配置方法:

# 创建elasticsearch的系统配置项,默认是不存在的
systemctl edit elasticsearch

# 默认文件为空,添加内容
[Service]
LimitMEMLOCK=infinity

# 重新加载单元,这一步不需要重启系统
sudo systemctl daemon-reload

第四步:重启elasticsearch

热门文章

暂无图片
编程学习 ·

Python之list添加新元素

讲解 现在,班里有3名同学: >>> L = [Adam, Lisa, Bart]今天,班里转来一名新同学 Paul,如何把新同学添加到现有的 list 中呢? 第一个办法是用 list 的 append() 方法,把新同学追加到 list 的末尾: >>> L = [Adam, Lisa, Bart] >>> L.append(P…
暂无图片
编程学习 ·

LeetCode题解(0744):寻找比目标字母大的最小字母(Python)

题目:原题链接(简单)解法 时间复杂度 空间复杂度 执行用时Ans 1 (Python) O(logN)O(logN)O(logN) O(1)O(1)O(1) 136ms (69.15%)Ans 2 (Python) O(logN)O(logN)O(logN) O(1)O(1)O(1) 136ms (69.15%)Ans 3 (Python)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,…
暂无图片
编程学习 ·

yolov5训练测试

书接上回,下面测试一下yolov5的训练。 参考文章目录官方教程1.数据集下载2.启动tensorboard3.训练4.结果4.1 打印信息4.2 测试训练的权重4.2 Apex 官方教程 官方tutorial(打不开的话,把整个仓库(迟早要下)下下来然后自己打开这个文件) 从这个位置开始读(前面工作在另一篇…
暂无图片
编程学习 ·

应用10秒部署、成本降低50% 阿里云serverless容器改写云计算极限

在将应用部署时间从以天计缩短到以小时计后,云计算正进入秒计时代:阿里云推出的最新计算形态Serverless容器服务改写了云计算极限,单实例启动时间为创世界纪录的10秒,1分钟可弹出1000实例,这使按需按秒计费成为现实,在云计算大大降低计算成本的基础上,让总计算成本再次降…
暂无图片
编程学习 ·

源代码编译安装

源代码编译 使用源代码安装软件的优点获得最新的软件版本,计时修复bug 根据用户需要,灵活定制软件功能应用场景举例安装较新版本的应用时 当前安装的程序无法满足需要时 需要为应用程序添加新的功能时Tarball封包.tar.gz和.tar.bz2格式居多 软件素材参考:http://sourceforg…
暂无图片
编程学习 ·

进程保活

进程保活一.为什么需要进程保活二.进程优先级前台进程(Foreground process)可见进程(Visible process)服务进程(Service process)后台进程(Background process)空进程(Empty process)三.保活方式1. 利用 Notification 提升权限2. 利用系统Service机制拉活3. 添加Manifest文件属…
暂无图片
编程学习 ·

selenium+ChromeDriver+java爬虫初探

selenium+ChromeDriver+java爬虫初探seleniumChromeDriver简单的demo selenium 自动化测试工具,可以完全模拟人的行为。我们可以用它来打开浏览器,访问指定URL,并且定位到具体的按钮,点击触发事件等等。ChromeDriver selenium和谷歌浏览器交互,需要这个驱动。下载地址(ht…
暂无图片
编程学习 ·

51单片机8*8点阵显示“中国”

#include <reg52.h> #include <intrins.h> //位移函数 sbit DIO=P3^4; //2片74HC595数据输入端 sbit S_CLK=P3^5;//串行输入时钟 sbit R_CLK=P3^6;//并行输出时钟 unsigned char code table[2][8]={0xEF,0xEF,0xEF,0x01,0x6D,0x01,0xEF,0xEF,0x01,0x7D,0x01,0x69,0…
暂无图片
编程学习 ·

支付宝小程序转微信小程序?

问题概述 支付宝小程序做完后,开始转战微信小程序;网上搜了一下都是都是微信转支付宝,并且还有转换工具(实名羡慕。。),并没有找到支付宝转换微信小程序的前车之鉴。由于拿到的是一半的项目,因此准备将支付宝与微信的区别整理出来,然后在开发者工具或者vscode进行全局替…
暂无图片
编程学习 ·

通过小项目学习23种设计模式(四)

通过读取文件导入数据库功能学习23种设计模式 第一次重构代码 目前代码写的很随性,导致以后业务增加时拓展起来繁杂,所以我们将已有逻辑进行第一重构: 抽取公共的行为生成接口 package com.xiaoma.fileimport.common;/*** 任务主执行类* 使用工厂模式,首先将任务共同行为抽象出…
暂无图片
编程学习 ·

Java Spring Shiro 安全框架:(八)加密算法

加密算法1.手动处理数据时,自行使用MD5加密2.使用Shiro的MD5方式进行加密在身份认证的过程中往往都会涉及到加密,如果不加密,这个时候信息就会非常的不安全,shiro 中提供的算法比较多 如 MD5 SHA 等1.手动处理数据时,自行使用MD5加密 package com.shiro3;import org.apache.s…
暂无图片
编程学习 ·

cpu寻址问题

20根地址线,16根数据线,cpu按字节编址和按字编址的寻址范围,分别是1M和512k,但是16根数据线,表明一次向存储单元读写位数16位,那为什么按字编址会是512k而不是1M呢,请解答一下,谢谢
暂无图片
编程学习 ·

Java环境安装和配置

**Java环境安装和配置 1.下载 进入下载页面:https://www.oracle.com/java/technologies/javase-downloads.html 2.点击对应版本JDK.Download进入下载界面并选择对应操作系统 3.下载后安装 已经安装过此版本的提示: 点击下一步: 更改都存储路径,不要出现特殊符号和汉字: 2.…
暂无图片
编程学习 ·

Java语言基础(二)变量和数据类型

Java语言基础(二)二、变量和数据类型2.1 变量的基本概念2.2 变量的声明和使用2.3 变量使用是注意事项2.4 标识符的命名规则(笔试)关键字2.5 变量输入输出的案例实现2.6 变量输入输出案例的优化和手册介绍2.7 数据类型的分类2.8 常用的进制2.9 十进制与二进制之间的转换(1)正…
暂无图片
编程学习 ·

论面向服务架构设计及其应用

在准备架构师考试过程中发现可供参考的论文范围非常少且内容陈旧给学习带来很大烦恼,通过考试后把我准备的论文共享出来水平有限但内容格式迎合考试,希望给大家一个参考。范文以“论面向服务架构设计及其应用”为题书写,希望对大家有所帮助。【摘要】2017年5月,我参加了某省…
暂无图片
编程学习 ·

vue3.0全家桶

Vue 3.0 全家桶抢先体验 1.vue: Beta 2.vue-router: Alpha 3.vuex: Alpha 4.vue-class-component: Alpha 5.vue-cli: Experimental support via vue-cli-plugin-vue-next 6.eslint-plugin-vue: Alpha 7.vue-test-utils: Alpha 8.vue-devtools: WIP 9.jsx: WIP 可以看到 Vue 3.0…
暂无图片
编程学习 ·

leetcode215. 数组中的第K个最大元素

目录方法一:暴力解法方法二:借助 partition 操作定位到最终排定以后索引为 len - k 的那个元素(特别注意:随机化切分元素)方法三:优先队列(默认是最大堆)在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同…