我正在尝试在 AMQ (5.15.2) 上发送 BytesMessage,但即使内存明显可用,我也会在堆空间异常中运行。这里是
byte[] contcentBuilder = new Byte[1000*1000*1];
Array.fill(contentBuilder, (byte) 1);
BytesMessage message = session.createBytesMessage();
for(int i=0;i<150;i++){
message.writeBytes(contentBuilder);
}
contentBuilder=null;
producer.send(message); //here it gets the heap space memory error
Runtime.getRunTime().freeMemory(); //this is in debug
在该错误中,可用内存超过 15Gb(我为此 VM 分配了 16Gb)。
欢迎任何想法,谢谢。
编辑:我基本上很笨,问题出在 AMQ 方面,增加它在 bin/win64/wrapper.conf 中的内存就可以了。感谢所有回答的人。
新来的我不知道如何关闭这个答案!