- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
> /root/setenv echo "export ES_MAX_MEM = -6ren">
我通过以下方式启动 ElasticSearch
echo "export ES_HEAP_SIZE = 4096" >> /root/setenv
echo "export ES_MAX_MEM = 4096" >> /root/setenv
echo "export ES_MAX_MEM = 4096" >> /root/setenv
# finally, we can start the app
echo 'Starting ElasticSearch...'
bin/elasticsearch -Xmx4g -Xms4g
然而,在根本没有时间(20 分钟)之后,它变得没有响应,显然是由于 HeapDumpOnOutOfMemoryError
...
[root@ip-***** api]# ps -ax | grep elasticsearch
6225 ? SLl 5:35 java -Xms256m -Xmx1g -Xss256k -Djava.awt.headless=true -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+HeapDumpOnOutOfMemoryError -Delasticsearch -Des.path.home=/root/elasticsearch/elasticsearch-0.20.3 -cp :/root/elasticsearch/elasticsearch-0.20.3/lib/elasticsearch-0.20.3.jar:/root/elasticsearch/elasticsearch-0.20.3/lib/*:/root/elasticsearch/elasticsearch-0.20.3/lib/sigar/* -Xmx4g -Xms4g org.elasticsearch.bootstrap.ElasticSearch
编辑——我刚刚注意到此处输出的 -Xms 大小仅为 256m,尽管在上面的启动中传递了 4g。我是不是误会了什么?
FWIW,我在运行 CentOS 和 Java v1.6.0_14-b08 的 Amazon EC2(m1.large 实例 => 8GB RAM)上
最佳答案
首先,设置 ES_HEAP_SIZE
本身并不能帮助您防止内存不足错误。 Elasticsearch 使用的内存量取决于您执行的查询类型:是否使用分面、排序、过滤、有多少字段、这些字段有多大、它们的基数是多少等。
其次,最好使用 ES_INCLUDE
脚本,或 service wrapper ,而不是将命令行上需要的所有选项传递给 elasticsearch
脚本。
第三,当您正确设置了ES_HEAP_SIZE
环境变量时,您不需要将-X
选项传递给elasticsearch 脚本.事实上,这些选项没有任何作用——脚本不会将它们传递给 Java。使用 ES_HEAP_SIZE
变量来控制内存,并使用 ES_JAVA_OPTIONS
来控制您要传递给 Java 的其他变量。
关于ElasticSearch 反复崩溃 "HeapDumpOnOutOfMemoryError"尽管有 4GB ES_MAX_MEM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14714036/
我有一个小心理障碍:我有一个 html 中的 javascript 函数,可以在按下某个键时写入键码。我已经将它连接到一个函数,该函数可以准确地告诉我按下了什么字符和键码(不包括在内)。 我的问题是如
我上网已经有一段时间了,现在正试图解决这个问题。可以找到正在发生的事情的视频: https://i.gyazo.com/59fc489b6099b513c41aedeed482b8d2.mp4 $(d
我有一个 Python 程序,其中一个函数导入另一个脚本并运行它。但是脚本仅在第一次函数被调用时运行。 def Open_Generator(事件): 导入密码生成器 有什么建议吗? *该函数在 tk
我正在尝试在 git 中创建两个包含二进制文件的分支 - 一个“开发”分支和一个“稳定”分支。在我想将它们“发布”到稳定分支之前,开发分支可以对这些文件进行一些更改(并且稳定分支已重命名这些文件,以防
我在 IBM BlueMix 中的 Node Red 应用程序反复崩溃 - 每小时一次 - 除了“exited with status: 1.”之外没有任何真正的错误消息 如何解决此问题? 是否有来自
我是一名优秀的程序员,十分优秀!