forum.bitel.ru
http://forum.bitel.ru/

Приложению BGRadiusDialup не хватает памяти
http://forum.bitel.ru/viewtopic.php?f=5&t=2619
Страница 1 из 1

Автор:  Nikolay [ 22 июл 2009, 14:05 ]
Заголовок сообщения:  Приложению BGRadiusDialup не хватает памяти

На адрес, указанный в alarm.mail, прииходят сообщения от модуля BGRadiusDialup об ошибках вида

ID события: system.no.memory
Время регистрации события: xx.07.2009 hh:mm:ss

Приложению недостаточно выделенной для него памяти!
Зарезервировано 522977280 из 522977280 (максимум) байтов памяти.
Сейчас свободно: 348185824 байтов.

Необходимо выделить большее количество памяти приложению.

Понятно, что модулю BGRadiusDialup не хватает памяти.
Вывод radius_status.sh
Код:
version 4.6 build 212 from 16.06.2009 18:10:54
22.07.2009 11:59:37     472     472     0       0
Request accounts per minute start: 2; stop: 4; update: 479
Request auths per minute accept: 2; reject: 0
Netfow packets per minute: 0
Ignore per minute auth: 0; update: 0
Antispam ban count: 1; used per minute: 2
FlowListener: queue_size: 0; threads_active: 0; largest: 0; core: 10; pool_size: 0; recv_socket_buf_size: 131 071; recv_buf_size: 8 388 608; packets: 0
Started: 09.07.2009 19:42:22    Uptime: 12 d 16:17:15
Memory total: 523 042 816; max: 523 042 816; free: 346 893 800
Trees in cache: 9
Connections pool to Master status Idle: 20; Active: 0; maxActive: 300; maxIdle: 20


В документации написано:
"...Размер памяти max можно увеличивать, изменяя число после параметра -Xmx в скрипте запуска приложения.
При нормальной работе приложения total не должен достигать max."

Подскажите, в каком направлении двигаться, как узнать, куда девается свободная память?
Увеличить параметр max - не выход, т.к. через несколько дней ситуация повторится.

Автор:  Amir [ 22 июл 2009, 14:11 ]
Заголовок сообщения: 

Здесь похоже не совсем утечка, потому что позже он память возращает. А сколько сессий одновременно? В логах ничего странного нет?

Автор:  Nikolay [ 22 июл 2009, 14:22 ]
Заголовок сообщения: 

В соседней теме
http://www.bgbilling.ru/forum/viewtopic.php?t=2583&highlight=%F5%E2%E0%F2%E0%E5%F2+%EF%E0%EC%FF%F2%E8
посоветовали просто увеличить память.

Одновременно около 500 сессий.

Что вызывает такую ошибку и чем это может грозить, если не увеличить память?
Упадет Radius?
Потеряются данные о трафике?
Будут откидываться запросы на авторизацию и пользователи не смогут устанавливать сессии?

В логах - все нормально, критических ошибок нет.

Автор:  Amir [ 22 июл 2009, 14:29 ]
Заголовок сообщения: 

Покажите radius.properties.

Автор:  Nikolay [ 22 июл 2009, 14:38 ]
Заголовок сообщения: 

Код:
processor.class=bitel.billing.server.processor.dialup.DialUpProcessor
processor.mid=4

db.driver=com.mysql.jdbc.Driver
#db.url=jdbc:mysql://127.0.0.1/bgbilling?useUnicode=true&characterEncoding=Cp1251&zeroDateTimeBehavior=convertToNull&jdbcCompliantTruncation=false&elideSetAutoCommits=true&cachePrepStmts=true
db.url=jdbc:mysql://127.0.0.1/bgbilling?useUnicode=true&characterEncoding=Cp1251&allowUrlInLocalInfile=true&zeroDateTimeBehavior=convertToNull&jdbcCompliantTruncation=false&elideSetAutoCommits=true&cachePrepStmts=true&useCursorFetch=true
db.user=xxxx
db.pswd=xxxx
db.maxIdle=20
db.maxActive=300

auth.port=1812
acct.port=1813
admin.port=1955

auth.thread.count=50
acct.thread.count=50

auth.thread.must.be.free.count=10
acct.thread.must.be.free.count=10



И еще вопрос. То, что у меня количество простаивающих запросов к БД достигло лимита - это нормально?
status Idle: 20; Active: 0; maxActive: 300; maxIdle: 20

Автор:  Nikolay [ 28 июл 2009, 12:47 ]
Заголовок сообщения: 

Есть свежие мысли по проблеме?

Автор:  skn [ 28 июл 2009, 13:39 ]
Заголовок сообщения: 

посмотрите на mysql какие запросы висят mysqladmin processlist

Автор:  Dmitri [ 30 июл 2009, 17:32 ]
Заголовок сообщения: 

Опа... а у нас такая же проблема, только сессий всего две! Что-то нет уверенности что простое добавление памяти - есть решение. В коннектах к БД - нет ничего странного... все таблицы - консистент...

Уважаемые разработчики, подскажите, что может быть не так...

Автор:  Amir [ 30 июл 2009, 19:25 ]
Заголовок сообщения: 

Если быть точным - это не ошибка, что не достаточно памяти. В java память делится на используемую, всего и максимальную.
total: 523 042 816; max: 523 042 816; free: 346 893 800
Означает, что сейчас используется 523 042 816 минус 346 893 800 памяти, total-free.
Но с другой стороны - не понятно почему размер heap стал равен максимальному.
Здесь как-будто используемая увеличилась до максимума, а потом освободилось 346 мб.

Но если бы не хватило памяти для работы, то были бы ошибки OutOfMemory...

Если есть постоянство, то давайте доступ в личку...

Автор:  Dmitri [ 30 июл 2009, 22:00 ]
Заголовок сообщения: 

Amir писал(а):
Если быть точным - это не ошибка, что не достаточно памяти. В java память делится на используемую, всего и максимальную.
total: 523 042 816; max: 523 042 816; free: 346 893 800
Означает, что сейчас используется 523 042 816 минус 346 893 800 памяти, total-free.
Но с другой стороны - не понятно почему размер heap стал равен максимальному.
Здесь как-будто используемая увеличилась до максимума, а потом освободилось 346 мб.

Но если бы не хватило памяти для работы, то были бы ошибки OutOfMemory...

Если есть постоянство, то давайте доступ в личку...


Хммм... у нас такая ситуация:

отлаживали тарифы и т.п, постоянно был поставлен на подключение один пользователь, и тут вдруг посыпались сообщения на почту:

Код:
ID события: radius.auth.ignore
Время регистрации события: 30.07.2009 13:34:23

RADIUS сервер не успевает обрабатывать поток авторизаций в рамках заданного в конфигурации количества потоков (auth.thread.count - auth.thread.must.be.free.count).
Очередной запрос авторизации был получен и пропущен без обработки.
Данный механизм предотвращает скопление очереди запросов, позволяя RADIUS серверу обрабатывать по мере освобождения самые свежие запросы.
Возможная причина - загруженность базы данных.


Но база - не была перегружена! Да и все настройки услуг и тарифов были верны! И буквально через несколько минут посыпались сообщения о нехватки памяти...


Код:
ID события: system.no.memory
Время регистрации события: 30.07.2009 14:02:56

Приложению недостаточно выделенной для него памяти!
Зарезервировано 260046848 из 260046848 (максимум) байтов памяти.
Сейчас свободно: 202669672 байтов.

Необходимо выделить большее количество памяти приложению.



потом еще и еще...

Автор:  Администратор [ 31 июл 2009, 11:00 ]
Заголовок сообщения: 

Цитата:
Но база - не была перегружена! Да и все настройки услуг и тарифов были верны! И буквально через несколько минут посыпались сообщения о нехватки памяти...

Снимите mysqladmin processlist при возникновении подобного сообщение.
Еще ./radius.sh status покажите.

Автор:  Dmitri [ 31 июл 2009, 18:44 ]
Заголовок сообщения: 

Администратор писал(а):
Цитата:
Но база - не была перегружена! Да и все настройки услуг и тарифов были верны! И буквально через несколько минут посыпались сообщения о нехватки памяти...

Снимите mysqladmin processlist при возникновении подобного сообщение.
Еще ./radius.sh status покажите.


Понятно, попробуем. Насколько я помню - смотрел процессы mysql в момент проблемы - был только один процесс, мой...

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/