
A high watermark event will occur when the memory used exceeds the vm_memory_high_watermark setting. In this example, server002 has exceeded the high watermark setting.
The main RabbitMQ log file (such as /var/log/rabbitmq/rabbit@server002.log on Linux) should contain something like this.
=INFO REPORT==== 14-Oct-2020::20:51:06 ===
vm_memory_high_watermark set. Memory used:9158058968 allowed:8589934592
=WARNING REPORT==== 14-Oct-2020::20:51:06 ===
memory resource limit alarm set on node rabbit@server002.
**********************************************************
*** Publishers will be blocked until this alarm clears ***
**********************************************************
The high watermark setting is in the main RabbitMQ configuration file. In this example, the high watermark is set to an absolute value of 8192MiB (8 GB).
vm_memory_high_watermark, {absolute, "8192MiB"}
Or in the INI format. In this example, the high watermark is set to 0.4, which means 40% of the total RAM.
vm_memory_high_watermark.relative = 0.4
With relative, the free command (on Linux) can be used to determine the total amount of RAM. In this example, the system has 23 GB of total RAM. In this scenario, 40% of 23 GB is how much memory will be allocated for RabbitMQ (9.2 GB).
]# free -h
total used free shared buff/cache available
Mem: 23G 2.6G 12G 43M 10G 11G
Swap: 2.0G 0B 2.0G
If you update the high watermark setting is in the main RabbitMQ configuration file, restart the RabbitMQ service for this change to take effect. After restarting the RabbitMQ server, ensure the state of the server is “active (running)”.
]# systemctl status rabbitmq-server
â— rabbitmq-server.service - RabbitMQ broker
Loaded: loaded (/usr/lib/systemd/system/rabbitmq-server.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2020-10-14 21:33:33 CDT; 2min 24s ago
Did you find this article helpful?
If so, consider buying me a coffee over at