好的想法是十分钱一打,真正无价的是能够实现这些想法的人。

es每天都报.OutOfMemoryError: unable to create new native thread但是服务器内存空间是有的,应该怎么优化下呢?

Elasticsearch | 作者 a505100745 | 发布于2018年06月07日 | 阅读数:5165

es每天都报这个错误 但是服务器内存空间是有的应该怎么优化下呢?
1111.png

 
已邀请:

zhigong

赞同来自: pengc

我在开发测试环境也遇到这个问题,查看服务器的内存是足够的,但是每次启动es后不久就会应为这个报错导致挂掉;这个篇文章可以参考下:http://jzhihui.iteye.com/blog/1271122 里面提到的几个配置;让运维都设置后没有再出现这个报错

losin18

赞同来自:

配置有问题

code4j - coder github: https://github.com/rpgmakervx

赞同来自:

看下是不是你配置的线程数过多,这个异常说的就是本地线程创建过多

rojay - 杭州的一枚90后初入职场的IT男

赞同来自:

ES的jvm.options的配置文件里面的内存大小有改么?

vearne - stay foolish stay hungry

赞同来自:

貌似可以通过调整栈空间大小,来解决,不过貌似还是物理内存太小。

vearne - stay foolish stay hungry

赞同来自:

建议你追踪一下jvm中的线程数量,比如可以用jstack 看看每种线程的数量,或者可以直接用bigdesk 看下线程的数量。这个错误一般只会出现线程太多的情况
另外可以调整线程的栈大小(调小) -Xss128k
 

jianjianhe

赞同来自:

我也遇到类似的问题,我想问下为什么es发生oom的时候没有gc日志,讲道理应该oom会发生gc的,由于gc没法回收内存,然后新的对象产生或仍有线程申请资源,所以导致oom。我发生oom那边没有任何gc日志,我不知道你这边是不是也没有

aslan1011 - 运维

赞同来自:

可以点开我图像,我已经解决了

要回复问题请先登录注册