LINUX.ORG.RU

Erlang Heap Memory

 ,


0

1

Добрый день Досталось Эрланг приложение. И при большой нагрузки оно падает с ошибкой

Slogan: eheap_alloc: Cannot allocate 49515520 bytes of memory (of type «heap»).

  • как можно указать лимит этой памяти при запуске приложения?
  • Кто то имеет опыт мониторинга забиксом эрланг приложения?

Ответ на: комментарий от darksmoke

С учетом того что вы его не знаете мониторить вам его бесполезно, вы же все равно не пофиксите что там внутри протекает. Настройте авторестарт или дайте побольше ресурсов через spawn options.

micronekodesu ★★ ()
Ответ на: комментарий от Deleted

В моем случае нужно. Видим проблемы. Но нечего разбирать, программисты спрашивают про память, про очередь сообщений и прочее. В джаве там все просто,взял мбин и готово. А тут не понимаю (

darksmoke ()
Ответ на: комментарий от darksmoke

Вообще у тебя должен генерится erl_crash.dump.
Отправив процессу SIGUSR1 его можно принудительно убить получив дамп.
Ну и простой интеграции в zabbix нет, если хочешь доставать данные из ноды - erlang:memory, erlang:process_info, erlang:port_info и ets:info тебе в помощь.

Deleted ()

И при большой нагрузки оно падает с ошибкой

Так пусть падает. Для ерланга вроде это нормальный процесс. Делаешь несколько нод, одна падает, одна поднимается.

crutch_master ★★★★★ ()
Ответ на: комментарий от darksmoke

Аналога xmx нет. Тем более у тебя и так падает приложение по причине того что в системе кончилась память. С аналогом xmx просто падало бы раньше.

Самый простой вариант - http://erlang.org/doc
Там есть и про мониторинг занятой памяти и про разбор дампов.

Deleted ()
Ответ на: комментарий от Deleted

как раз в системе еще было много свободной памяти, утилизация эрланом была на уровне 50%. Но при этом приложение упала, крэш файл создался, процессу лагер не хватило памти (

darksmoke ()