docker compose启动RocketMQ 5的broker报错:Killed
Docker默认分配的内存可能无法满足RocketMQ Broker的运行需求,尤其是当。在使用Docker安装RocketMQ时,启动Broker进程被Killed通常是由于。本次则修改docker compose的broker部分的内存配置。
·
在使用Docker安装RocketMQ时,启动Broker进程被Killed通常是由于容器内内存不足导致的。
Docker默认分配的内存可能无法满足RocketMQ Broker的运行需求,尤其是当消息累积或配置较大内存使用场景时。
解决方法如下:
- 调整Docker资源限制:
通过docker run命令添加–memory参数,为容器分配更多内存,例如–memory=4g。 - 优化RocketMQ配置:
降低brokerRole(如设置为Slave)、减少flushDiskType为异步刷盘,或者调小mapedFileSize等内存相关参数。 - 检查宿主机资源:
确保宿主机本身有足够的空闲内存,避免因系统级内存压力触发Killed。 - 使用cgroups调试:
通过dmesg | grep -i killed确认是否为OOM(Out of Memory)问题,并根据提示进一步优化资源配置。
》dmesg | grep -i killed
(UID:3000是linux用户rocketmq的用户id)
[1141614.669057] Memory cgroup out of memory: Killed process 2681296 (java) total-vm:3028692kB, anon-rss:2091776kB, file-rss:9856kB, shmem-rss:0kB, UID:3000 pgtables:4268kB oom_score_adj:0
[1141653.757190] Memory cgroup out of memory: Killed process 2681946 (java) total-vm:3028692kB, anon-rss:2091776kB, file-rss:9856kB, shmem-rss:0kB, UID:3000 pgtables:4264kB oom_score_adj:0
[1141676.691178] Memory cgroup out of memory: Killed process 2682423 (java) total-vm:3028692kB, anon-rss:2091776kB, file-rss:9856kB, shmem-rss:0kB, UID:3000 pgtables:4272kB oom_score_adj:0
本次则修改docker compose的broker部分的内存配置。
broker-master1:
deploy:
resources:
limits:
memory: 2G
改成:
broker-master1:
deploy:
resources:
limits:
memory: 4G

参考:
https://ask.csdn.net/questions/8210182
更多推荐
所有评论(0)