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/ |