Native memory allocation (mmap) failed to map 6215958528 bytes for committing reserved memory

今天突然发现es报错,无法正常启动,报错信息如下:

Exception in thread "main" java.lang.RuntimeException: starting java failed with [1]
output:
#
# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (mmap) failed to map 6215958528 bytes for committing reserved memory.
# An error report file with more information is saved as:
# logs/hs_err_pid173.log
error:
OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x000000064d800000, 6215958528, 0) failed; error='Not enough space' (errno=12)
    at org.elasticsearch.tools.launchers.JvmOption.flagsFinal(JvmOption.java:119)
    at org.elasticsearch.tools.launchers.JvmOption.findFinalOptions(JvmOption.java:81)
    at org.elasticsearch.tools.launchers.JvmErgonomics.choose(JvmErgonomics.java:38)
    at org.elasticsearch.tools.launchers.JvmOptionsParser.jvmOptions(JvmOptionsParser.java:135)
    at org.elasticsearch.tools.launchers.JvmOptionsParser.main(JvmOptionsParser.java:86)
 

从报错信息看,应该是内存不足的原因,项目采用的docker方式部署,于是修改了docker的配置文件,增大了jvm的内存,

原来配置如下:

修改后配置如下:

 

重启docker,失望的是,还是无法启动,报错还是一样的。于是查看了下机器的内存:

free -h

 

发现可用内存已不足,即,可用的内存为5.3G,但是需要的内存为: 6215958528/1024/1024/1024 = 5.7G,所以问题的根源不是jvm的配置问题,而是机器内存不足,最后将无用的服务进行关闭,释放内存,重启es的服务,一切正常。

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值