我的点火服务器有128G RAM,Xmx 10G堆外70G,启动时,日志显示:
[11:30:27,376][INFO][main][IgniteKernal] Performance suggestions for grid (fix if possible)
[11:30:27,377][INFO][main][IgniteKernal] To disable, set -DIGNITE_PERFORMANCE_SUGGESTIONS_DISABLED=true
[11:30:27,377][INFO][main][IgniteKernal] ^-- Set max direct memory size if getting 'OOME: Direct buffer memory' (add '-XX:MaxDirectMemorySize=<size>[g|G|m|M|k|K]' to JVM options)
我有搜索网络,我发现这篇文章说没有必要配置MaxDirectMemorySize,http://apache-ignite-users.70518.x6.nabble.com/Do-we-require-to-set-MaxDirectMemorySize-JVM-parameter-td21200.html 一些文章说默认的MaxDirectMemorySize与Xmx相同,所以我应该为这个选项配置什么,我只是感到困惑,如果它没用,为什么点燃转储建议日志来解决这个问题?
答案 0 :(得分:2)
这并不表示失败,您可以忽略此建议,除非您的节点/群集因直接缓冲内存中的OOM而失败。这是一个选项,使您能够控制可以分配多少直接内存,否则它将使用您正在使用的JVM使用默认的直接内存策略进行控制。 Ignite仅检查它是否在JVM选项中设置。
您在应用中的直接缓冲内存中是否遇到过OOME问题?
问候。
答案 1 :(得分:0)
当程序从NIO libray调用函数时,某些文件操作(例如读写)使用直接缓冲存储器。
由于存在错误,如果未指定其值,则设置Xmx ...它是从Xmx复制的。
直接缓冲存储器的默认值为64 Mb(如果不设置,也不要设置Xmx)。
我建议MaxDirectMemorySize = 64或256 Mb
更大的价值:也许您看不到错误,但是我怀疑您会获得更好的性能。