我们如何验证运行ElasticSearch的堆大小

时间:2018-07-14 15:20:52

标签: java elasticsearch elastic-stack

我正在运行ElasticSearch版本6.2.3,并且我正在config\jvm.options文件中将堆大小增加到4GB。然后重新启动我的ES,如何确保我的ES以修改后的heapsize运行。是否有任何命令可以验证ES的堆大小。

我正在Windows计算机上运行我的ES。

请找到我的配置详细信息。

## JVM configuration

################################################################
## IMPORTANT: JVM heap size
################################################################
##
## You should always set the min and max JVM heap
## size to the same value. For example, to set
## the heap to 4 GB, set:
##
## -Xms2g
## -Xmx2g
##
## See https://www.elastic.co/guide/en/elasticsearch/reference/current/heap-size.html
## for more information
##
################################################################

# Xms represents the initial size of total heap space
# Xmx represents the maximum size of total heap space

-Xms4g
-Xmx4g

3 个答案:

答案 0 :(得分:1)

您可以在INFO日志中找到用于Elasticsearch实例的JVM参数。确保您的弹性日志记录级别显示INFO日志。

答案 1 :(得分:0)

您还可以使用以下任一选项来检查用于启动实例的命令行参数:

  1. 使用Process Explorer,并将鼠标悬停在java.exe的进程名称上(由elasticsearch.exe启动)。确保从“文件”菜单中选择了“显示所有进程的详细信息”。
  2. 从提升权限的命令提示符下运行以下命令 WMIC PATH win32_process WHERE "caption='java.exe'" GET Commandline

两者都将为您提供用于启动实例的命令行参数。寻找-Xmx-Xms值。

有关这两个选项的更多信息,请查看How do I find out command line arguments of a running program?

答案 2 :(得分:0)

您可以使用_cat/nodes端点找出每个节点使用的堆大小。

如下所示:

host=localhost:9200 #replace with your Elasticsearch URL
curl $host/_cat/nodes?h=heap*

这将返回如下所示的输出:

554.8mb 30 1.8gb
850.9mb 46 1.8gb
  1.7gb 95 1.8gb

这里的第1列是heap.current,又名用过的堆。
第2列是heap.percent,也就是百分比使用的堆。
第3列是heap.max,也就是该节点可用的最大堆。

通过h查询字符串参数,您可以选择要显示的列名称。我们使用*通配符扩展到以堆前缀开头的所有列。

您可以在此处阅读文档以了解更多信息:https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-nodes.html