我目前正在生产中在 Ubuntu(16.04) 上使用 RabbitMQ (3.6.2-1)。生产者发布消息,消费者消费消息,一切正常,但有时 RabbitMQ 不释放内存,它触及最大内存,生产者无法将消息发布到空队列中,所以我必须重新启动服务。
是bug还是别的什么?
更新 :
它来自管理插件,因此您可以通过以下解决方案之一解决此问题:
1.更新你的RabbitMQ版本(3.6.15稳定)
2.定期重启统计数据库(每小时在crontab中)https://www.rabbitmq.com/management.html#stats-db
3.在你的rabbitmq.config文件中将rates_mode设置为none(这不是一个好主意,因为在这种情况下你看不到消息速率)
我正在研究用java编写的关键应用程序,它应该避免"停止世界垃圾收集"的影响.我正在寻找一种可以预测因完整gc而导致长时间暂停的解决方案.可能吗?
我正在阅读“卡夫卡权威指南”,在第35页(网络部分)中说:
...第一项调整是更改为每个套接字的发送和接收缓冲区分配的默认和最大内存量。这将大大提高大型传输的性能。每个套接字的发送和接收缓冲区默认大小的相关参数是net.core.wmem_default和net.core.rmem_default ... 除了套接字设置之外,还必须设置TCP套接字的发送和接收缓冲区大小分别使用net.ipv4.tcp_wmem和net.ipv4.tcp_rmem参数。
为什么我们应该同时设置net.core.wmem和net.ipv4.tcp_wmem?
database ×1
java ×1
kernel ×1
linux ×1
memory-leaks ×1
performance ×1
prediction ×1
rabbitmq ×1
sockets ×1
statistics ×1