Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Hazelcast无法将1.2亿实体加载到地图中_Java_Hazelcast - Fatal编程技术网

Java Hazelcast无法将1.2亿实体加载到地图中

Java Hazelcast无法将1.2亿实体加载到地图中,java,hazelcast,Java,Hazelcast,事实上,这是两张120米的入门地图,但我认为这并不重要: 我有2个Hazelcast实例在集群中运行,备份设置为0。有两个映射:和。条目从文件中读取、解析并加载到地图中。集群中的两台机器都有32GB的RAM,JVM通过-XmX29G启动。最后一条失败前消息是 INFO: [192.168.4.101]:5701 [dev] memory.used=11.9G, memory.free=4.2G, memory.total=16.1G, memory.max=25.8G,

事实上,这是两张120米的入门地图,但我认为这并不重要:

我有2个Hazelcast实例在集群中运行,备份设置为0。有两个映射:
。条目从文件中读取、解析并加载到地图中。集群中的两台机器都有32GB的RAM,JVM通过
-XmX29G
启动。最后一条失败前消息是

    INFO: [192.168.4.101]:5701 [dev] memory.used=11.9G, 
    memory.free=4.2G, memory.total=16.1G, memory.max=25.8G, 
    memory.used/total=73.96%, memory.used/max=46.12%,
    load.process=90.00%, load.system=90.00%, 
    load.systemAverage=176.00%, 
    thread.count=45, thread.peakCount=52, event.q.size=0, 
    executor.q.async.size=0, executor.q.client.size=0, 
    executor.q.operation.size=0, executor.q.query.size=0, 
    executor.q.scheduled.size=0, executor.q.io.size=0, 
    executor.q.system.size=0, executor.q.operation.size=0, 
    executor.q.response.size=0, operations.remote.size=8, 
    operations.running.size=0, proxy.count=2, 
    clientEndpoint.count=0, connection.active.count=1,
    connection.count=1
正如你所看到的,有足够的内存来保存更多的条目,所以我希望这不是失败的原因

SEGFULT消息有时会有所不同:

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007f708336f705, pid=24471, tid=140121186719488
#
# JRE version: Java(TM) SE Runtime Environment (7.0_45-b18) (build 1.7.0_45-b18)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (24.45-b08 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# V  [libjvm.so+0x5b3705]  instanceKlass::oop_follow_contents(ParCompactionManager*, oopDesc*)+0x2c5
前几天,它几乎与相同,但原因不同:有问题的帧不在
libjvm.so
中,而是在Hazelcast本身的
collectLocalMapStats()
调用中

这是在同时使用OpenJDK和Oracle Java时发生的


请随时询问更多信息,因为这件事对我来说非常重要,我愿意解决。

您可能遇到了bug。您可以在评论中找到一些解决建议,例如在启动VM时设置标志
-XX:-DoEscapeAnalysis

您可能遇到了错误。您可以在评论中找到一些解决建议,例如在启动VM时设置标志
-XX:-DoEscapeAnalysis

正如Jarnobjo所说,这可能是JVM中的一个bug,而不是Hazelcast代码中的bug。在应用他的建议时,我想听到更多关于你的发现。很高兴知道问题是否得到解决。@pveentjer、@jarnbjo,不幸的是,这没有帮助。我仍然遇到
oop\u follow\u contents
com.hazelcast.map.MapService.createLocalMapStats(Ljava/lang/String;)Lcom/hazelcast/monitor/impl/LocalMapStatsImpl
作为一个有问题的框架。@pveentjer嗯,我禁用了用于监视集群状态的JMX服务,到目前为止它似乎运行得很顺利。但这里还有另一个问题-我有这两个节点的32 GB内存,启动每个节点时使用
-Xmx29G
,但在管理中心,两个节点的内存看起来只有29 GB。两个映射的备份计数都设置为0。我应该设置什么来在这两个节点之间共享内存(即~58 GB)?很高兴了解JMX。我不知道你在哪里看到29 GB的内存。Hazelcast不会在管理中心显示AFAIK集群中可用的内存总量(顺便说一句,最好有)。我对数据模型做了一些更改,并成功地将两个地图连接到了一个。下面是我得到的:(在集群主节点显示最大内存=25G),(显示新启动实例的统计数据),(正在运行的应用程序),(新的SIGSEGV原因)。正如Jarnobjo所说,它可能是JVM中的一个bug,而不是Hazelcast代码中的bug。在应用他的建议时,我想听到更多关于你的发现。很高兴知道问题是否得到解决。@pveentjer、@jarnbjo,不幸的是,这没有帮助。我仍然遇到
oop\u follow\u contents
com.hazelcast.map.MapService.createLocalMapStats(Ljava/lang/String;)Lcom/hazelcast/monitor/impl/LocalMapStatsImpl
作为一个有问题的框架。@pveentjer嗯,我禁用了用于监视集群状态的JMX服务,到目前为止它似乎运行得很顺利。但这里还有另一个问题-我有这两个节点的32 GB内存,启动每个节点时使用
-Xmx29G
,但在管理中心,两个节点的内存看起来只有29 GB。两个映射的备份计数都设置为0。我应该设置什么来在这两个节点之间共享内存(即~58 GB)?很高兴了解JMX。我不知道你在哪里看到29 GB的内存。Hazelcast不会在管理中心显示AFAIK集群中可用的内存总量(顺便说一句,最好有)。我对数据模型做了一些更改,并成功地将两个地图连接到了一个。下面是我得到的:(在集群主服务器上显示最大内存=25G),(显示新启动实例的统计数据),(运行应用程序),(新的SIGSEGV原因)。