Ignite 用“点火开始”;如果获得';OOME:直接缓冲存储器&x27;(添加&x27;-XX:MaxDirectMemorySize=";

Ignite 用“点火开始”;如果获得';OOME:直接缓冲存储器&x27;(添加&x27;-XX:MaxDirectMemorySize=";,ignite,Ignite,我的ignite服务器有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:2

我的ignite服务器有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)
[11:30:27376][INFO][main][IgniteKernal]网格性能建议(如果可能,请修复)
[11:30:27377][INFO][main][IgniteKernal]要禁用,请设置-DIGNITE_PERFORMANCE_SUGGESTIONS_DISABLED=true
[11:30:27377][INFO][main][IgniteKernal]^如果获取“OOME:direct buffer memory”,则设置最大直接内存大小(将-XX:MaxDirectMemorySize=[g | g | m | k | k]添加到JVM选项)
我有搜索网站,我发现这篇文章说没有必要配置MaxDirectMemorySize,
有些文章说默认的MaxDirectMemorySize将与Xmx相同,所以我应该为这个选项配置什么,我只是感到困惑,如果它没有用,为什么要点燃转储建议日志来解决这个问题呢?

这不是失败的迹象,你可以忽略这个建议,除非你的节点/集群由于OOM在d中失败direct buffer memory(直接缓冲内存)。这是一个选项,使您能够控制可以分配多少直接内存,否则,您使用的JVM将使用默认的直接内存策略对其进行控制。Ignite仅检查是否在JVM选项中设置了直接内存

您的应用程序中的直接缓冲内存中是否存在OOME问题


注意。

这不是失败的迹象,您可以忽略此建议,除非您的节点/集群由于直接缓冲内存中的OOM而失败。这是一个选项,使您能够控制可以分配多少直接内存,否则您正在使用的JVM将使用默认直接内存策略来控制它。仅点火检查是否已在JVM选项中设置

您的应用程序中的直接缓冲内存中是否存在OOME问题


注意。

当程序从NIO库调用函数时,一些文件操作(如读写)会使用直接缓冲内存

由于一个bug,如果没有指定它的值并且您设置了Xmx…它将从Xmx复制

直接缓冲区内存默认值为64 Mb(如果不设置它,也不要设置Xmx)

我建议MaxDirectMemorySize=64或256 Mb


更大的值:也许您没有看到错误,但我怀疑您是否能获得更好的性能。

当程序调用NIO库中的函数时,某些文件操作(如读写)会使用直接缓冲内存

由于一个bug,如果没有指定它的值并且您设置了Xmx…它将从Xmx复制

直接缓冲区内存默认值为64 Mb(如果不设置它,也不要设置Xmx)

我建议MaxDirectMemorySize=64或256 Mb


更大的价值:也许你看不到错误,但我怀疑你能获得更好的性能。

谢谢你的详细解释,我也是java新手,所以我没有直接内存OOME的经验。谢谢你的详细解释,我也是java新手,所以我没有直接内存OOME的经验。