ES OutOfMemoryError-unable to create native thread问题处理记录
环境es版本:7.8.0部署方式与配置:es是通过k8s的方式部署的statefulset,因为量不大用的单个pod,存储挂载的华为云的evs创建的pvc,配置用的2c2g经过早上查看cce发现elasticsearch的pod出现问题,在不断重启。查看pod事件发现已经重启了几十次,查看pod日志报错OutOfMemoryError-unable to create native thread,
·
环境
es版本:
7.8.0
部署方式与配置:
es是通过k8s的方式部署的statefulset,因为量不大用的单个pod,存储挂载的华为云的evs创建的pvc,配置用的2c2g
经过
早上查看cce发现elasticsearch的pod出现问题,在不断重启。查看pod事件发现已经重启了几十次,查看pod日志报错OutOfMemoryError-unable to create native thread,以为是内存不够用了,将jvm内存扩大为4g,没有解决。因此去google搜索,最终找到这篇文章参考文章 。按照这篇文章的方法排错,发现用户的进程数已经接近上限,因此判断是这个原因。
从下面可以看到pid最大数为32768
cat /proc/sys/kernel/pid_max
32768
而实际的进程数已经达到了32421
ps -eLo ruser|awk 'NR>1'|sort|uniq -c
78 1000
1 dbus
4 glops
19 nfsnobody
1 ntp
7 polkitd
2 postfix
28 prometheus
32421 root
因此通过下面命令更改了最大进程数
sysctl -w kernel.pid_max=65536
cat /proc/sys/kernel/pid_max
65536
启动费了点时间,但是解决了问题。
更多推荐
已为社区贡献2条内容
所有评论(0)