Rabbitmq ueue memory limit hit

Maximilian Schneider 20 Zuverlässigkeitspunkte
2026-09-18T13:44:17.7833333+00:00

RabbitMQ message broker blocking message producers because queue memory threshold reached. How to purge or drain unconsumed queues?

Windows für Unternehmen | Windows 365 Business
0 Kommentare Keine Kommentare

1 Antwort

Sortieren nach: Älteste
  1. Domic Vo 34,170 Zuverlässigkeitspunkte Unabhängiger Berater
    2026-09-18T14:22:09.4333333+00:00

    Hallo,

    Wenn RabbitMQ Produzenten blockiert, weil die Speichergrenze der Warteschlangen erreicht ist, besteht die unmittelbare Lösung darin, die ungenutzten Warteschlangen zu löschen oder zu entleeren. Wenn Sie die ausstehenden Nachrichten direkt löschen möchten, verwenden Sie den Befehlrabbitmqctl purge_queue <nom_de_la_file>. Dadurch werden alle Nachrichten aus der Zielwarteschlange gelöscht und der Speicher freigegeben. Dies können Sie auch über die HTTP-Management-API tun, indem Sie eine Anfrage DELETE an den Endpunkt/api/queues/<vhost>/<queue>/contents senden. In der GUI des Management-Plugins ist die Option "Purge" auf jeder Warteschlange verfügbar und erzeugt denselben Effekt.

    Wenn Sie Warteschlangen ohne Datenverlust entleeren möchten, sollten Sie einen temporären Konsumenten erstellen, der Nachrichten liest und bestätigt, bis die Warteschlange leer ist. Dieser Ansatz ist langsamer, stellt aber sicher, dass Nachrichten verarbeitet werden. Um zu verhindern, dass sich die Situation erneut erholt, setzen Sie eine TTL (x-message-ttl) auf die Nachrichten oder wenden Sie eine Dead-Lettering-Richtlinie an, sodass abgelaufene Nachrichten automatisch gelöscht oder umgeleitet werden. Überprüfen Sie schließlich den Wert von vm_memory_high_watermark in rabbitmq.conf. Standardmäßig ist er auf 0,4 gesetzt, was 40 % des RAM entspricht. Wenn Ihre Warteschlangen groß sind, können Sie das anpassen, aber das Reinigen ist immer noch der sicherste Weg, um sofort Speicherplatz freizumachen.

    DV.

    War diese Antwort hilfreich?

    0 Kommentare Keine Kommentare

Ihre Antwort

Antworten können von Fragestellenden als „Angenommen“ und von Moderierenden als „Empfohlen“ gekennzeichnet werden, wodurch Benutzende wissen, dass diese Antwort das Problem des Fragestellenden gelöst hat.