当我做ps -aef时,我看到了这个grep elasticsearch 的 HeapDumpOnOutOfMemoryError
501 37347 1 0 2:29 PM ttys004 0:04.14 / usr / bin / java -Xms4g -Xmx4g -Xss256k -Djava.awt.headless = true -XX:+ UseParNewGC -XX:+ UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction = 75 -XX:+ UseCMSInitiatingOccupancyOnly -XX:+ HeapDumpOnOutOfMemoryError -Delasticsearch -Des.path.home = / Users / abdullahmuhammad / elasticsearch -cp:/Users/abdullahmuhammad/elasticsearch/lib/elasticsearch-0.20.6.jar:/ Users / abdullahmuhammad / elasticsearch / lib / :/ Users / abdullahmuhammad / elasticsearch / lib / sigar / org.elasticsearch.bootstrap.ElasticSearch
我尝试了一些事情。玩初始堆的大小。增加,减少它。 我也删除了我的整个索引但仍然没有运气。
我用以下来删除索引。
curl -XDELETE 'http://localhost:9200/_all/'
任何帮助都将不胜感激。
答案 0 :(得分:0)
如果您使用像Marvel这样的插件,您应该检查索引计数及其大小。因为一些插件会产生大量的indix,并且它们可以占用你所有的记忆。
答案 1 :(得分:0)
对于堆,Elasticsearch会推荐50%的可用内存。 一般,Elasticsearch对内存的建议:最大值64GB,分钟8GB。
重要文件: VMware documentation https://www.elastic.co/guide/en/elasticsearch/guide/current/heap-sizing.html
答案 2 :(得分:0)
一些建议: - 调整ES_HEAP_SIZE环境变量。 - 将ES的mlockall选项(在配置文件中)设置为true。这将始终分配一个具体的堆内存块。 - 如果您的系统不是很强大,则减少分片编号。注意;虽然增加分片数会增加插入性能,但增加复制数会增加查询性能。