elasticsearch - Elasticsearch 忽略了我的 JVM 堆大小设置
问题描述
我在 Linux(Ubuntu)的 Docker 容器中运行 Elasticsearch。我有很多circuit_breaking_exception
问题,引用了 486.3mb 的限制;所以我决定稍微提高我的 JVM 堆大小。我的机器有 6 GB 的物理内存,所以对于堆大小来说最多 3 GB 应该是安全的。
所以我去更改设置jvm.options
。默认值为:
-Xms1g
-Xmx1g
我已将其更改为:
-Xms2g
-Xmx2g
这里出现了转折:不仅我circuit_breaking_exception
在相同的大小限制下保持相同;echo $ES_JAVA_OPTS
返回-Xmx512m -Xms512m
。这甚至不是默认设置。我也尝试过保留默认设置jvm.options
并创建一个新的user.options
inside jvm.options.d
,结果相同。我错过了什么吗?我在这里做错什么了吗?
解决方案
如官方使用 docker 安装 ES所示,可以将其作为 env 变量传递
version: '2.2'
services:
es01:
image: docker.elastic.co/elasticsearch/elasticsearch:7.9.2
container_name: es01
environment: -> it comes under environment section, removed other settings for brevity
- "ES_JAVA_OPTS=-Xms512m -Xmx512m" --> note this
ES_JAVA_OPTS
更改此环境变量值后,您需要重新启动 docker 容器
推荐阅读
- javascript - 错误 403 - 返回 FileContentResult 时出现 403 - Aspnet
- excel - 使每组八行移动到 Excel 中的列中
- javascript - 如何根据所选选项禁用/启用所有动态创建的下拉列表中的选项
- angular - 将 Angular 7 更新为 Angular 8
- microservices - 春季 OAuth2 服务来服务客户端凭据
- microsoft-cognitive - 表单识别器标签工具请求表单链接似乎已损坏
- javascript - 源代码在哪里更改以点呈现希伯来文本?PDF JS
- html - 如何响应地均匀分布文本?
- javascript - Video.play() 导致 TypeError
- c# - 从客户端获取承载或 AuthResult?