3.2.1 JVM 参数设置

未匹配的标注

你几乎可以不去调整Java虚拟机(JVM)参数,如何非要做的话,你最有可能去修改 heap size ,本章中详细的说明了如何设置JVM参数。

修改JVM参数(包括系统属性和JAVA指标)的首选方法是通过修改 jvm.options
其默认文件在 config/jvm.options(是 tar 或 zip 方法安装) 或者/etc/elasticsearch/jvm.options ( Debian 或 Linux 方法安装).

该文件包含了以遵循行分隔符为规则的JVM参数

  • 空行将会忽略
  • #开头的行被视为注释而被忽略
    # this is a comment
  • -开头的行被视为 JVM 选项
      -Xmx2g
  • 以数字开头且后跟:-的行被视为 JVM 选项,仅当 JVM 的版本与数字匹配。
     8:-Xmx2g
  • 以数字开头的行,后跟-:-被视为 JVM 选项,仅当 JVM 的版本大于或等于数字时才适用。
    8-:-Xmx2g
  • 以数字开头,后跟-再跟数字和:-行被视为JVM选项,仅当JVM的版本在这两个数字的范围内时才应用该选项
    8-9:-Xmx2g
  • 剩下的所有行都无效
    你在此文件内自定义 JVM 标签,然后将此文件配置到系统中。

设置 JAVA 虚拟机参数是可以通过修改ES_JAVA_OPTS环境变量。例如:

export ES_JAVA_OPTS="$ES_JAVA_OPTS -Djava.io.tmpdir=/path/to/temp/dir"
./bin/elasticsearch

如果是 RPM 或 Debian 包安装时,可以在系统配置中指定ES_JAVA_OPTS参数值。

JVM 具有自动查找JAVA_TOOL_OPTIONS环境变量的内部机制,我们可以有意识的在打包过程中忽略该参数。这么做是因为在某些操作系统中(例如 Ubutu)上,默认情况下通过此环境变量安装了代理程序,我们不想让这些程序干扰Elasticsearch。

此外,其他一些的 JAVA 程序支持JAVA_OPTS环境变量。这不是 JVM 的内置机制,而是生态系统中的约定。但是我们不支持该变量修改 JVM 参数,而是通过修改JVM options文件 或者是 ES_JAVA_OPTS环境变量。

本文章首发在 LearnKu.com 网站上。

本译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

原文地址:https://learnku.com/docs/elasticsearch73...

译文地址:https://learnku.com/docs/elasticsearch73...

上一篇 下一篇
CrazyZard
贡献者:3
讨论数量: 0
发起讨论 只看当前版本


暂无话题~