ignite 服务重启,查看错误日志:
[14:29:56,533][SEVERE][grid-nio-worker-client-listener-3-#37][ClientListenerProcessor] Caught unhandled exception in NIO worker thread (restart the node).
java.lang.OutOfMemoryError: Direct buffer memory
直接内存是一种在堆外分配的内存,它不受Java堆大小的限制。
MaxDirectMemorySize参数可以通过在启动JVM时使用以下命令行选项进行设置:
-XX:MaxDirectMemorySize=<size>
#查看DirectMemorySize
cat /proc/1/maps | grep -v "\\.so" | grep -v "\\.jar" | grep -v "\\.class" | grep -v "\\.properties" | grep -v "\\.conf" | grep -v "\\.xml" | awk '{sum += $3 - $2} END {print sum / 1024 / 1024 " MB"}'
查看ignite相关文档:
如果您使用Ignite本机持久性,我们建议您将MaxDirectMemorySize JVM参数设置为walSegmentSize * 4。
对于默认的WAL设置,这个值等于256MB。
解决方法:-XX:MaxDirectMemorySize=2G
另外留意一下ignite在负载高的情况下的tcp链接数,以防客户端频繁创建链接且不关闭。
netstat -na|grep ESTABLISHED|wc -l