当前位置: 首页 > article >正文

ElasticSearch内存占用率过高怎么办?

文章目录

  • 1,先用top看看各个进程的内存占用情况
  • 2,不能简单的杀死进程,然后再重启。
  • 3,查看一下ElasticSearch进程的具体启动情况
  • 4,修改Elasticsearch 的Java堆内存

1,先用top看看各个进程的内存占用情况

先运行top命令,然后再按一下m键,会对内存进行降序排练。
在这里插入图片描述
可以看到,排名第一的是elastic,其实就是ElasticSearch。

2,不能简单的杀死进程,然后再重启。

3,查看一下ElasticSearch进程的具体启动情况

ps -ef | grep elasticsearch

或者

systemctl status   elasticsearch | more

两行命令意思都一样。
在这里插入图片描述
可以看到有三个关于elasticsearch 的进程,进程号PID分别是6764, 6825, 6853。
其实你通过ps -ef | grep elasticsearch这条命令可以看出来,6825是6853的父进程,6764是6853的父进程。

  • 并且,进程6764 Xmx 是64M,Xms是4M,很显然进程6764没有占用太多的内存。
  • 但是进程6825 Xmx是8G, Xms是8G,很显然进程6825会占用太多的内存。
  • Xmx 是 Java 虚拟机(JVM)的一个参数,代表 “最大堆内存大小(Maximum Heap Size)”。它指定了 JVM 可以使用的最大内存量。
    Xms 则代表 “初始堆内存大小(Initial Heap Size)”,即 JVM 启动时初始分配的堆内存大小。

在这里还要解释一下,Elasticsearch 本身是用 Java 编写的应用程序,所以它的运行是通过 Java 虚拟机(JVM)来启动的,也就是通过 /opt/elasticsearch-8.11.4/jdk/bin/java 来执行。
当您启动 Elasticsearch 时,实际上是使用 Java 命令来加载和运行 Elasticsearch 的 Java 代码。

4,修改Elasticsearch 的Java堆内存

找到你的Elasticsearch 安装路径,有这样一个文件夹,/opt/elasticsearch-8.11.4/config

里面有一个jvm.options这样的文件,打开找到以下部分。
在这里插入图片描述

官方建议设置es内存,大小为物理内存的一半,剩下的一半留给lucene。
所以我的机器物理内存为8g,那么我就取消这两行的注释,设置-Xms4g -Xmx4g。
然后再重启Elasticsearch集群。


http://www.kler.cn/a/472604.html

相关文章:

  • 详细讲一下什么是闭包,为什么会产生闭包,闭包会导致什么,闭包可以帮助我们在开发中干什么
  • nodejs的降级
  • window CMD大全
  • 如何 cURL Elasticsearch:进入 Shell
  • 海陵HLK-TX510人脸识别模块 stm32使用
  • Leffa 虚拟试衣论文笔记
  • Java中将特征向量转换为矩阵的实现
  • CentOS 8 系统中添加 4G 大小的swap(交换空间)
  • 如何理解支持向量回归
  • 滑动变阻器的三种连接方式
  • linux中给自己编译的模块签名
  • element-ui下拉输入框+resetFields无法回显
  • 【物联网原理与运用】知识点总结(上)
  • node-sass@4.14.1报错的最终解决方案分享
  • Markdown中状态图的用法
  • Spring Boot教程之五十二:CrudRepository 和 JpaRepository 之间的区别
  • 一个个顺序挨着来 - 责任链模式(Chain of Responsibility Pattern)
  • LabVIEW之树形控件
  • el-table 自定义表头颜色
  • HTML5 旋转动画(Rotate Animation)详解
  • k8s的ip地址分别都是从哪里来的
  • 【Uniapp-Vue3】v-model双向绑定的实现原理
  • 第30天:Web开发-PHP应用组件框架前端模版渲染三方插件富文本编辑器CVE审计
  • K-Means 聚类算法:用生活场景讲解机器学习的“分组”方法
  • INT301 Bio Computation
  • 基于 Python 的 PDF 动画翻页效果的阅读器实现