Java Hazelcast存储器

Java Hazelcast存储器,java,hazelcast,Java,Hazelcast,50 GB数据将加载到hazelcast地图。我们的机器中有100GB内存。 已配置5 gb-XMX(堆大小)。将数据加载到hazelcast映射时,内存不足异常。查看堆转储,数据被写入堆而不是RAM。如何配置hazelcast将数据写入RAM而不是堆 正如@craigr8806已经提到的,Java堆在您的RAM中。我猜您正在寻找的是堆外实现HDMS(高密度内存存储),这是一个企业特性,在开源版本中不可用。这样,您可以将HDMS可用空间配置为最大75GB,并将映射使用内存格式作为本机。这样,数据

50 GB数据将加载到hazelcast地图。我们的机器中有100GB内存。
已配置5 gb-XMX(堆大小)。将数据加载到hazelcast映射时,内存不足异常。查看堆转储,数据被写入堆而不是RAM。如何配置hazelcast将数据写入RAM而不是堆

正如@craigr8806已经提到的,Java堆在您的RAM中。我猜您正在寻找的是堆外实现HDMS(高密度内存存储),这是一个企业特性,在开源版本中不可用。这样,您可以将HDMS可用空间配置为最大75GB,并将映射使用
内存格式
作为
本机
。这样,数据将不会存储在GC收集的Java堆中,而是存储在HDMS中

因为它是一个企业特性,所以您需要一个不同的jar(hazelcast enterprise.jar)和一个许可证密钥。您可以在我们的公司网站上找到30天试用申请表


我希望这能澄清这种情况:)如果你不是在谈论HDM,请随意阐述。

正如@craigr8806已经提到的,Java堆在你的RAM中。我猜您正在寻找的是堆外实现HDMS(高密度内存存储),这是一个企业特性,在开源版本中不可用。这样,您可以将HDMS可用空间配置为最大75GB,并将映射使用
内存格式
作为
本机
。这样,数据将不会存储在GC收集的Java堆中,而是存储在HDMS中

因为它是一个企业特性,所以您需要一个不同的jar(hazelcast enterprise.jar)和一个许可证密钥。您可以在我们的公司网站上找到30天试用申请表


我希望这能澄清这种情况:)如果你不是在谈论HDM,请随意解释。

这是一种正常的行为。正常情况下,所有东西都归堆。通过设置-Xmx5,您已经将最大堆大小的约束设置为5G。如何将50GB放入5GB


关于堆外实现,我首先要问自己,应用程序是在线(交互式)处理还是离线处理,以及您真正能够容忍的延迟有多大。如果您进行脱机处理,延迟并不重要,在这种情况下,“停止世界事件”不会是一个大问题。

这是一种正常行为。正常情况下,所有东西都归堆。通过设置-Xmx5,您已经将最大堆大小的约束设置为5G。如何将50GB放入5GB


关于堆外实现,我首先要问自己,应用程序是在线(交互式)处理还是离线处理,以及您真正能够容忍的延迟有多大。如果您有脱机处理,延迟并不重要,在这种情况下,“停止世界事件”不会是一个大问题。

堆是RAM您需要增加堆大小如果服务器上没有其他进程/应用程序运行,则尝试利用完整的RAM进行堆存储。您正在运行多少个节点?只是单节点设置单节点并不是Hazelcast的实际使用案例,因为它针对网络操作(群集)进行了优化堆是RAM您需要增加堆大小如果服务器上没有其他进程/应用程序运行,则试着利用完整的RAM进行堆存储。您正在运行多少个节点?只是单节点设置单节点并不是Hazelcast的实际用例,因为它针对网络操作(群集)进行了优化但您认为从堆外写入和读取数据时会比从堆内写入和读取数据时有延迟吗?因为需要在堆外和堆内复制数据,所以访问延迟稍微多一点。考虑到GC的工作量大大减少的事实,延迟变得更加一致,因此通常比以前“更少”。但您认为从堆外写入和读取时会比从堆内写入和读取时有延迟吗?由于需要在堆外和堆内复制数据,访问延迟会稍微多一些。尽管GC的工作更少,但考虑到这一事实,延迟变得更加一致,因此通常比以前“更少”。