0
点赞
收藏
分享

微信扫一扫

ElasticSearch集群部署系统参数配置调优


内存基本要求

进程数和文件句柄数配置

使用命令查看:

vi /etc/security/limits.conf

ElasticSearch集群部署系统参数配置调优_java_02


如果没配置,在文件的后面加上配置

* soft nproc 131072
* hard nproc 131072
* soft nofile 131072
* hard nofile 131072

第一列表示用户,​​*​​表示所有的用户

  • ​soft xxx​​:表示警告的设定,可以超过这个设定的值,但是超过后会有警告
  • ​hard xxx​​:表示严格的设定,不允许超过设定的值
  • ​nproc​​:每个用户创建进程数的限制
  • ​nofile​​:每个进程可以打开的文件数限制
  • ​soft nproc​​:单个用户最大进程数量,超过会警告
  • ​hard nproc​​:单个用户最大进程数量,超过会报错
  • ​soft nofile​​:可以打开的文件最大数,超过会警告
  • ​hard nofile​​:可以打开的文件最大数,超过会报错

举例:soft 设为1024,hard设为2048,当你使用数在1到1024之间时可以随便使用,1024到2048时会出现警告信息,大于2048时会直接报错

注意:

  • 一般soft的值会比hard小,也可以设置为相等
  • ​/etc/security/limits.d/​​​ 里面配置会覆盖​​/etc/security/limits.conf​​​ 的配置
    只有root用户才有权限修改​​​/etc/security/limits.conf​​​​limits.conf​​没有做设定,则默认值是1024

虚拟内存设置

操作系统的默认​​mmap count​​限制是很低的,可能会导致内存不足的异常。所以需要根据需要修改参数

临时配置:

sysctl -w vm.max_map_count=262144

永久配置,找到配置文件

vi /etc/sysctl.conf

进行配置,在文件后面加上

# 设置虚拟内存大小
vm.max_map_count=262144

验证修改的配置:

sysctl -a|grep vm.max_map_count

如果未生效,重新加载配置文件:

sysctl -p

swap分区设置

swap分区是内存不够用的时候,将部分内存上的数据交换到swap空间,以便让系统不会因为内存不够用而导致oom问题

如果要临时紧用swap

swapoff -a

要永久性禁用swap,需要修改/etc/fstab文件,然后将所有包含swap的行注释

另外一种方法就是通过​​ /etc/sysctl.conf​​​,将​​vm.swappiness​​设置为1,这可以尽量减少Linux内核swap的倾向,在正常的情况下,不会进行swap,但是在紧急情况下,还是会进行swap操作。

# 禁用内存和磁盘交换
vm.swappiness=1

注意:如果设置​​vm.swappiness​​为0,表示完全不会swap,在内存不够用时,也不会进行交换

这个配置可以根据需要进行配置,在使用ES时候,可以设置为1,提高性能

如果频繁的将ES进程的内存swap到磁盘,肯定会影响性能,内存的操作都是要求快速完成的,如果内存被swap到了磁盘,会影响系统性能


举报

相关推荐

0 条评论