BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 05 июл 2025, 00:21

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
СообщениеДобавлено: 22 июл 2009, 14:05 
Не в сети

Зарегистрирован: 03 июн 2009, 15:27
Сообщения: 20
Карма: 0
На адрес, указанный в 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 - не выход, т.к. через несколько дней ситуация повторится.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 22 июл 2009, 14:11 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Здесь похоже не совсем утечка, потому что позже он память возращает. А сколько сессий одновременно? В логах ничего странного нет?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 22 июл 2009, 14:22 
Не в сети

Зарегистрирован: 03 июн 2009, 15:27
Сообщения: 20
Карма: 0
В соседней теме
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?
Потеряются данные о трафике?
Будут откидываться запросы на авторизацию и пользователи не смогут устанавливать сессии?

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 22 июл 2009, 14:29 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Покажите radius.properties.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 22 июл 2009, 14:38 
Не в сети

Зарегистрирован: 03 июн 2009, 15:27
Сообщения: 20
Карма: 0
Код:
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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 28 июл 2009, 12:47 
Не в сети

Зарегистрирован: 03 июн 2009, 15:27
Сообщения: 20
Карма: 0
Есть свежие мысли по проблеме?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 28 июл 2009, 13:39 
Не в сети
Разработчик

Зарегистрирован: 07 апр 2007, 23:51
Сообщения: 4494
Откуда: Уфа, Россия
Карма: 187
посмотрите на mysql какие запросы висят mysqladmin processlist


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 30 июл 2009, 17:32 
Не в сети

Зарегистрирован: 13 июн 2008, 15:10
Сообщения: 362
Откуда: Москва
Карма: 0
Опа... а у нас такая же проблема, только сессий всего две! Что-то нет уверенности что простое добавление памяти - есть решение. В коннектах к БД - нет ничего странного... все таблицы - консистент...

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

_________________
God Bless Linux! and blessings to FreeBSD!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 30 июл 2009, 19:25 
Не в сети
Разработчик
Аватара пользователя

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

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

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 30 июл 2009, 22:00 
Не в сети

Зарегистрирован: 13 июн 2008, 15:10
Сообщения: 362
Откуда: Москва
Карма: 0
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 байтов.

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



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

_________________
God Bless Linux! and blessings to FreeBSD!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 31 июл 2009, 11:00 
Не в сети
Разработчик

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
Цитата:
Но база - не была перегружена! Да и все настройки услуг и тарифов были верны! И буквально через несколько минут посыпались сообщения о нехватки памяти...

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 31 июл 2009, 18:44 
Не в сети

Зарегистрирован: 13 июн 2008, 15:10
Сообщения: 362
Откуда: Москва
Карма: 0
Администратор писал(а):
Цитата:
Но база - не была перегружена! Да и все настройки услуг и тарифов были верны! И буквально через несколько минут посыпались сообщения о нехватки памяти...

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


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

_________________
God Bless Linux! and blessings to FreeBSD!


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 12 ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
POWERED_BY
Русская поддержка phpBB
[ Time : 0.055s | 40 Queries | GZIP : On ]