Domyślnie [disk_free_limit] (źródło: [1]) musi przekraczać 1,0 razy więcej dostępnej pamięci RAM. Jest to prawdą w twoim przypadku, więc możesz chcieć sprawdzić, co dokładnie blokuje przepływ. Aby to zrobić, przeczytaj [rabbitmqctl man] (source: [2]) i uruchom komendę last_blocked_by. To powinno ci podać przyczynę blokowania.
Zakładając, że jest to pamięć (i jakoś nie obliczyłeś swojej wolnej przestrzeni dyskowej poprawnie), aby zmienić disk_free_limit, przeczytaj [konfigurowanie rabbitmq.config] (źródło: [1]), a następnie otwórz plik rabbitmq.config i dodaj następujący wiersz: {rabbit, [{disk_free_limit, {mem_relative, 0.1}}]}
w deklaracji konfiguracji. Mój plik rabbitmq.config wygląda następująco:
[
{rabbit, [{disk_free_limit, {mem_relative, 0.1}}]}
].
Konkretna ilość zależy od ciebie, oczywiście.
Źródła
- http://www.rabbitmq.com/configure.html#configuration-file
- http://www.rabbitmq.com/man/rabbitmqctl.1.man.html
Czy możesz podać więcej informacji? W niektórych przeglądarkach można znaleźć przykładowe guziki zarządzania w przeglądarce. – robthewolf
Kod, powiązane poprawki i dyskusja: http://stackoverflow.com/questions/14386392/how-to-detect-alarm-based-blocking-rabbitmq-producer/17104037#17104037 – hellojava