Hazelcast Outofmemory

时间:2017-10-09 16:17:24

标签: spring-boot apache-camel hazelcast

Hazelcast Queue数据结构用于在生产者消费者模式下交换消息。在hazelcast.xml中有5个队列,其中max-size = 50。当队列大小达到最大大小值时,在发送消息时,生产者会按预期被阻止。在嵌入式和客户端服务器模式下使用hazlcast进行尝试。在这两种情况下,运行15分钟后,应用程序无响应。在嵌入模式下,hazelcast healthmonitor日志显示以下内容

  

2017年10月9日下午2:13:45   com.hazelcast.internal.diagnostics.HealthMonitor INFO:   [127.0.0.1]:5702 [hj-12840-dev] [3.8.1] processor = 4,   physical.memory.total = 15.7G,physical.memory.free = 8.2G,   swap.space.total = 2.0G,swap.space.free = 2.0G,    heap.memory.used = 2.2G heap.memory.free = 1.1M ,heap.memory.total = 2.2G,heap.memory.max = 2.2G,   heap.memory.used / total = 99.95%, heap.memory.used / max = 99.95%,   minor.gc.count = 218,minor.gc.time = 50371ms, major.gc.count = 176 ,   major.gc.time = 559748ms,load.process = 0.33%,load.system = 0.27%,   load.systemAverage = 100.00%,thread.count = 115,thread.peakCount = 117,   cluster.timeDiff = -4670,event.q.size = 0,executor.q.async.size = 0,   executor.q.client.size = 0,executor.q.query.size = 0,   executor.q.scheduled.size = 0,executor.q.io.size = 0,   executor.q.system.size = 0,executor.q.operations.size = 0,   executor.q.priorityOperation.size = 0,operations.completed.count = 74875,   executor.q.mapLoad.size = 0,executor.q.mapLoadAllKeys.size = 0,   executor.q.cluster.size = 0,executor.q.response.size = 0,   operations.running.count = 0,   operations.pending.invocations.percentage = 0.00%,   operations.pending.invocations.count = 2,proxy.count = 0,   clientEndpoint.count = 0,connection.active.count = 1,   client.connection.count = 0,connection.count = 1

数据仅在队列中推送,而消费者正在使用poll()方法从队列中获取消息。使用外部应用程序,验证队列的剩余容量,该队列报告排队消息正在处理并按预期从队列中删除。队列端点配置如下

hazelcast:seda:default?pollTimeout=1000&concurrentConsumers=5&transferExchange=false&transacted=false&hazelcastInstance=#hazelcastInstance

Hazelcast版本:3.8.1 。与Camel Hazelcast组件(版本2.19)以及Spring启动(1.5.3.RELEASE)一起使用。

之前有没有人遇到过类似的问题?我可能在这里缺少什么?

0 个答案:

没有答案