максимальное кол-во очередей

29 views
Skip to first unread message

aka...@gmail.com

unread,
Oct 5, 2009, 9:28:42 AM10/5/09
to RabbitMQ_rus
в результате экспериментов, оказалось что сервер держит 32684 очереди,
если создаю больше то пишет "слишком много процессов"
иногда это приводит к крешу

можно это как-то отрегулировать? надо больше (миллион)

Igor Karymov

unread,
Oct 5, 2009, 12:09:02 PM10/5/09
to RabbitMQ_rus
Ну тут два момента в которые можно упереться, первый это ограничения
мнезии..
Но ваше число подозрительно близко к максимальному числу ерланг
процессов которые можно запустить с настройками по умолчанию (32768),
попробуйте копнуть в этом направлении...

вот это место в гайде:

The maximum number of simultaneously alive Erlang processes is by
default 32768. This limit can be raised up to at most 268435456
processes at startup (see documentation of the system flag +P in the
erl(1) documentation). The maximum limit of 268435456 processes will
at least on a 32-bit architecture be impossible to reach due to memory
shortage.

ман:

http://www.erlang.org/doc/man/erl.html

aka...@gmail.com

unread,
Oct 6, 2009, 9:06:08 AM10/6/09
to RabbitMQ_rus


вот что мне сказала служба поддержки:

Please try to increase the erlang process limit. You can do that
by supplying "+P <number>" parameter to erlang ("erl").
http://erlang.org/doc/man/erl.html#max_processes

To check what is your current limit, you can run erlang and type:
$ erl +P99999
> erlang:system_info(process_limit).
99999
>

только вот не получается увеличить это кол-во процессов,
пытался эту константу подствавлять в шелл скрипты запуска.
в общем - где задавать эту константу я так и не понял.

aka...@gmail.com

unread,
Oct 6, 2009, 9:42:30 AM10/6/09
to RabbitMQ_rus
пробовал делать изменения в скрипте /usr/local/sbin/rabbitmq-server

[ "x" = "x$RABBITMQ_SERVER_ERL_ARGS" ] && RABBITMQ_ERL_ARGS="+P65536
+K true +A30 \
-kernel inet_default_listen_options [{nodelay,true},{sndbuf,16384},
{recbuf,4096}] \
-kernel inet_default_connect_options [{nodelay,true}]" \

не помогает

Igor Karymov

unread,
Oct 6, 2009, 11:57:34 AM10/6/09
to RabbitMQ_rus
если нет желания долго копаться с разными условиями в конфигах, можно
сделать так:

в
/usr/local/sbin/rabbitmq-server

...
exec erl \
+P 99999 \
-pa "/usr/lib/erlang/lib/rabbitmq_server-1.6.0/" \
...

и простой способ проверить:

ingham@eva ~ $ erl -sname rr

Erlang R13B01 (erts-5.7.2) [source] [rq:1] [async-threads:0]
Eshell V5.7.2 (abort with ^G)

(rr@localhost)1> rpc:call(rabbit@eva, erlang, system_info,
[process_limit]).
99999

(нода с которой делается rpc естественно должна иметь те же куки, что
и нода раббита,
можно ещё завалить в конфигах флаг отключающий консоль, но я его с
лёту не смог найти).

Alexandre Kalendarev

unread,
Oct 20, 2009, 6:06:44 AM10/20/09
to rabbit...@googlegroups.com


6 октября 2009 г. 19:57 пользователь Igor Karymov <ingh...@gmail.com> написал:
 первый способ сработал

спасибо.

Александр
Reply all
Reply to author
Forward
0 new messages