情况描述:高德斯潮州mes 的rabbitmq 容器半夜自动退出。rabbitMQ的特性:消息持久化:从内存持久化消息到硬盘,再从硬盘加载到内存。
rabbitMQ容器自动退出后查看的日志如下
截取一部分的日志
2022-09-16 09:02:55.630089+00:00 [error] <0.370.0> {proc_lib,init_p_do_apply,3,
2022-09-16 09:02:55.630089+00:00 [error] <0.370.0> [{file,"proc_lib.erl"},{line,226}]}]}
2022-09-16 09:02:55.630089+00:00 [error] <0.370.0> offender: [{pid,<0.30257.38>},
2022-09-16 09:02:55.630089+00:00 [error] <0.370.0> {id,rabbit_disk_monitor},
2022-09-16 09:02:55.630089+00:00 [error] <0.370.0> {mfargs,{rabbit_disk_monitor,start_link,[50000000]}},
2022-09-16 09:02:55.630089+00:00 [error] <0.370.0> {restart_type,{transient,1}},
2022-09-16 09:02:55.630089+00:00 [error] <0.370.0> {shutdown,300000},
2022-09-16 09:02:55.630089+00:00 [error] <0.370.0> {child_type,worker}]
2022-09-16 09:03:01.630751+00:00 [info] <0.23385.44> Enabling free disk space monitoring
2022-09-16 09:03:01.663287+00:00 [info] <0.23385.44> Disk free limit set to 50MB
eheap_alloc: Cannot allocate 1898305688 bytes of memory (of type "old_heap").
Crash dump is being written to: /var/log/rabbitmq/erl_crash.dump...done
看这个日志 无法在内存加载数据
查看内存,发现内存空间确实不足,swap空间都用完了。如下图↓
解决办法:添加物理内存,重新启动容器