新手问题 如何在 1G 内存的阿里云上运行 elasticsearch

zaqmjuop · 发布于 2017年07月10日 · 最后由 leekelby 回复于 2017年07月13日 · 791 次阅读
A5aa80

运行 sudo /etc/init.d/elasticsearch start 返回 [ ok ] Starting elasticsearch (via systemctl): elasticsearch.service.
但是运行 netstat -antu 没有端口9200的进程
运行sudo /usr/share/elasticsearch/bin/elasticsearch
返回
OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000c5330000, 986513408, 0) failed;
error='Cannot allocate memory' (errno=12)
There is insufficient memory for the Java Runtime Environment to continue.
Native memory allocation (mmap) failed to map 986513408 bytes for committing reserved memory.
An error report file with more information is saved as:
/home/van/hs_err_pid20963.log
在官网的https://www.elastic.co/guide/en/elasticsearch/reference/current/heap-size.html
看见可以在/etc/elasticsearch/jvm.options 配置 -Xmx2g - Xmx2g 来指定内存,可是阿里云乞丐版内存就1G
所以我设定成 -Xmx256m - Xmx256m
然后在运行就Exception in thread "main" org.elasticsearch.bootstrap.BootstrapException: java.nio.file.NoSuchFileException:
/usr/share/elasticsearch/config
所以貌似-Xmx后面的单位只能是g
不知道该怎么解决了😟 很难受

共收到 5 条回复
10094

增加交换分区试试

7659
  • 第一个报错,是因为ES的默认内存大于1G,所以需要调整JVM的-Xms-Xmx参数
  • 第二个报错,没有遇到过,但是-Xmx后面的单位可以用m,如-Xmx128m
503

1个G是足够跑的。我一般也是分配256M的

A5aa80
503songlipeng2003 回复

你是以前在1G的电脑上跑过么?能否给下跑的版本号?你那个内存也是在 /jvm.options这个文件里改

-Xms2g 
-Xmx2g

这样子么 貌似elasticsearch有很多配置文件啊 我把/jvm.options里的注释掉后新建/usr/share/elasticsearch/config 里面写-Xms256m没有报内存不够,但是告诉我没有配置log4j2 我有点慌,暂时搁置了,你是在哪个文件里改的啊

2ed86d

5.* 版本以后对内存需求又加大了。
之前我用的是 2G 的内存,也设置了 -Xms 和 -Xmx 及网站搜到的一些配置,但偶尔还是会崩溃。来来回回折腾...
后面不想折腾,升到 4G .... 目前一直运行良好,没出过问题。

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册