5.7版本运行三天消息积压后故障了,如何配置丢弃策略啊

每秒大概八千条消息,等级是QOS1,运行三天左右。就会出现如下错误

25-12-29T09:38:38.205110+08:00 [error] Process:            <0.70990.0> on node 'emqx@127.0.0.1', Context:            maximum heap size reached, Max Heap Size:      6291456, Total Heap Size:    23974172, Kill:               true, Error Logger:       true, Message Queue Len:  0, GC Info:            [{old_heap_block_size,2586},{heap_block_size,12835031},{mbuf_size,11136577},{recent_size,83},{stack_size,18},{old_heap_size,1040},{heap_size,586},{bin_vheap_size,277},{bin_vheap_block_size,46422},{bin_old_vheap_size,747},{bin_old_vheap_block_size,46422}]
2025-12-29T17:37:49.868256+08:00 [error] supervisor: {esockd_connection_sup,<0.4192.0>}, errorContext: connection_shutdown, reason: #{max => 1000,reason => mailbox_overflow,value => 11372}, offender: [{pid,<0.4192.0>},{name,connection},{mfargs,{emqx_connection,start_link,[#{listener => {tcp,default},limiter => #{connection => #{initial => 0,rate => infinity,burst => 0}},enable_authn => true,zone => default}]}}]
2025-12-29T18:04:03.713544+08:00 [error] supervisor: {esockd_connection_sup,<0.3856.0>}, errorContext: connection_shutdown, reason: #{max => 1000,reason => mailbox_overflow,value => 11622}, offender: [{pid,<0.3856.0>},{name,connection},{mfargs,{emqx_connection,start_link,[#{listener => {tcp,default},limiter => #{connection => #{initial => 0,rate => infinity,burst => 0}},enable_authn => true,zone => default}]}}]
2026-01-01T16:23:56.628298+08:00 [warning] msg: alarm_is_activated, message: <<"connection congested: #{memory => 18888,message_queue_len => 0,pid => <<\"<0.4591.0>\">>,reductions => 820658841371,send_pend => 1048115,peername => <<\"127.0.0.1:40942\">>,sockname => <<\"127.0.0.1:1883\">>,buffer => 4096,high_msgq_watermark => 8192,high_watermark => 1048576,recbuf => 131072,sndbuf => 2626560,recv_cnt => 4221,recv_oct => 8554,send_cnt => 2112062673,send_oct => 779665006646,username"...>>, name: <<"conn_congestion/serialServerSub_95261767002370517211/xsmessage">>
2026-01-01T16:24:11.638812+08:00 [error] Process:            <0.4591.0> on node 'emqx@127.0.0.1', Context:            maximum heap size reached, Max Heap Size:      6291456, Total Heap Size:    23811029, Kill:               true, Error Logger:       true, Message Queue Len:  12, GC Info:            [{old_heap_block_size,10958},{heap_block_size,12841193},{mbuf_size,10958901},{recent_size,289},{stack_size,18},{old_heap_size,378},{heap_size,6747},{bin_vheap_size,3207},{bin_vheap_block_size,46422},{bin_old_vheap_size,0},{bin_old_vheap_block_size,46422}]
2026-01-04T14:47:47.329257+08:00 [error] Process:            <0.43167.0> on node 'emqx@127.0.0.1', Context:            maximum heap size reached, Max Heap Size:      6291456, Total Heap Size:    23903635, Kill:               true, Error Logger:       true, Message Queue Len:  4, GC Info:            [{old_heap_block_size,2586},{heap_block_size,12835031},{mbuf_size,11066064},{recent_size,86},{stack_size,18},{old_heap_size,545},{heap_size,564},{bin_vheap_size,296},{bin_vheap_block_size,46422},{bin_old_vheap_size,99},{bin_old_vheap_block_size,46422}]
2026-01-07T13:14:43.724968+08:00 [error] Process:            <0.79733.0> on node 'emqx@127.0.0.1', Context:            maximum heap size reached, Max Heap Size:      6291456, Total Heap Size:    23745033, Kill:               true, Error Logger:       true, Message Queue Len:  0, GC Info:            [{old_heap_block_size,2586},{heap_block_size,12836019},{mbuf_size,10906451},{recent_size,88},{stack_size,18},{old_heap_size,432},{heap_size,1573},{bin_vheap_size,501},{bin_vheap_block_size,46422},{bin_old_vheap_size,0},{bin_old_vheap_block_size,46422}]
2026-01-10T15:54:48.662853+08:00 [error] Process:            <0.119263.0> on node 'emqx@127.0.0.1', Context:            maximum heap size reached, Max Heap Size:      6291456, Total Heap Size:    23726283, Kill:               true, Error Logger:       true, Message Queue Len:  2, GC Info:            [{old_heap_block_size,2586},{heap_block_size,12836019},{mbuf_size,10887700},{recent_size,90},{stack_size,18},{old_heap_size,398},{heap_size,1574},{bin_vheap_size,569},{bin_vheap_block_size,46422},{bin_old_vheap_size,0},{bin_old_vheap_block_size,46422}]
2026-01-13T14:27:44.429887+08:00 [error] Process:            <0.155941.0> on node 'emqx@127.0.0.1', Context:            maximum heap size reached, Max Heap Size:      6291456, Total Heap Size:    23723335, Kill:               true, Error Logger:       true, Message Queue Len:  0, GC Info:            [{old_heap_block_size,2586},{heap_block_size,12836019},{mbuf_size,10884776},{recent_size,67},{stack_size,18},{old_heap_size,1804},{heap_size,1552},{bin_vheap_size,543},{bin_vheap_block_size,46422},{bin_old_vheap_size,2351},{bin_old_vheap_block_size,46422}]
2026-01-16T13:11:14.278827+08:00 [error] Process:            <0.192323.0> on node 'emqx@127.0.0.1', Context:            maximum heap size reached, Max Heap Size:      6291456, Total Heap Size:    23772109, Kill:               true, Error Logger:       true, Message Queue Len:  0, GC Info:            [{old_heap_block_size,2586},{heap_block_size,12834797},{mbuf_size,10934749},{recent_size,67},{stack_size,18},{old_heap_size,1199},{heap_size,351},{bin_vheap_size,174},{bin_vheap_block_size,46422},{bin_old_vheap_size,1265},{bin_old_vheap_block_size,46422}]
2026-01-19T11:44:18.211483+08:00 [error] Process:            <0.229398.0> on node 'emqx@127.0.0.1', Context:            maximum heap size reached, Max Heap Size:      6291456, Total Heap Size:    23618493, Kill:               true, Error Logger:       true, Message Queue Len:  0, GC Info:            [{old_heap_block_size,4185},{heap_block_size,12836019},{mbuf_size,10778311},{recent_size,45},{stack_size,18},{old_heap_size,987},{heap_size,1574},{bin_vheap_size,595},{bin_vheap_block_size,46422},{bin_old_vheap_size,129},{bin_old_vheap_block_size,46422}]
2026-01-22T10:48:20.151081+08:00 [error] Process:            <0.265972.0> on node 'emqx@127.0.0.1', Context:            maximum heap size reached, Max Heap Size:      6291456, Total Heap Size:    23722838, Kill:               true, Error Logger:       true, Message Queue Len:  0, GC Info:            [{old_heap_block_size,1598},{heap_block_size,12835031},{mbuf_size,10886231},{recent_size,83},{stack_size,20},{old_heap_size,568},{heap_size,588},{bin_vheap_size,122},{bin_vheap_block_size,46422},{bin_old_vheap_size,0},{bin_old_vheap_block_size,46422}]

然后emqx就挂了,是需要配置丢弃策略吗,原因是因为消费速率跟不到导致消息堆积过多吗?

是的,如果每秒八千的qos1到一个订阅端,那订阅端肯定受不了,配丢弃策略也于事无补的,你得用共享订阅分担压力

因为设备现在有点多了,改成QOS0或者调低发送频率的话有点麻烦0.0 如何通过配置能解决这个问题呢,比如我可以限制生产者的发送速率吗,或者可以QOS降级?有什么在不新增订阅的情况下,保证EMQX正常运行吗

应该没有了吧。我是没想到