BiTel

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

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




Начать новую тему Ответить на тему  [ Сообщений: 14 ] 
Автор Сообщение
СообщениеДобавлено: 27 янв 2014, 13:34 
Не в сети
Клиент

Зарегистрирован: 09 фев 2011, 15:28
Сообщения: 1092
Карма: 135
Код:
Приложению недостаточно выделенной для него памяти!
Зарезервировано 2109079552 из 2109079552 (максимум) байтов памяти.
Сейчас свободно: 869049792 байтов.


Чего он такой прожорливый ? Активных абонентов штук 650, всего пока перенесено порядка 1200. Есть РРРоЕ, DHCP, Netflow (мегабит 200). А если ему еще пару тыщ абонентов и 500-700Мбит потока добавить что с ним станет ?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 27 янв 2014, 17:01 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
версия?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 27 янв 2014, 17:41 
Не в сети
Клиент

Зарегистрирован: 09 фев 2011, 15:28
Сообщения: 1092
Карма: 135
Код:
Сервер: вер. 6.0 сборка 1659 от 22.01.2014 02:22:29

Причём после обновления последнего (до этого была ноябрьская сборка) еще больше стал памяти кушать.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 27 янв 2014, 18:33 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
После перезапуска (когда по логам начал принимать RADIUS/Netflow пакеты) сразу столько памяти использует или через какое-то время увеличивается?
Если не сразу, желательно два дампа пямяти сделать, сразу как начнет принимать RADIUS/Netflow после перезапуска и когда увеличится больше чем на 200M или даже в два раза, но желательно чтобы не больше 800-1000M.
jmap -dump:format=b,file=dump.hprof <pid>


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 27 янв 2014, 19:06 
Не в сети
Клиент

Зарегистрирован: 09 фев 2011, 15:28
Сообщения: 1092
Карма: 135
Это при запуске
Код:
Started: 27.01.2014 21:45:52    Uptime: 0 d 00:00:35
Memory total: 404 684 800; max: 1 908 932 608; free: 152 360 128
Memory pools:
  Non-heap memory[Code Cache]: max: 50 331 648; used: 4 182 464; peek: 4 193 280
  Heap memory[PS Eden Space]: max: 707 461 120; used: 172 731 520; peek: 678 494 208
  Heap memory[PS Survivor Space]: max: 1 245 184; used: 1 183 744; peek: 11 419 792
  Heap memory[PS Old Gen]: max: 1 431 699 456; used: 78 409 408; peek: 78 409 408
  Non-heap memory[PS Perm Gen]: max: 85 983 232; used: 34 335 976; peek: 34 335 976


Это чуть позже.
Код:
Started: 27.01.2014 21:45:52    Uptime: 0 d 00:02:03
Memory total: 808 058 880; max: 1 908 932 608; free: 329 717 672
Memory pools:
  Non-heap memory[Code Cache]: max: 50 331 648; used: 4 943 424; peek: 4 953 472
  Heap memory[PS Eden Space]: max: 544 210 944; used: 54 240 120; peek: 678 494 208
  Heap memory[PS Survivor Space]: max: 98 762 752; used: 98 735 968; peek: 98 735 968
  Heap memory[PS Old Gen]: max: 1 431 699 456; used: 325 365 120; peek: 325 365 120
  Non-heap memory[PS Perm Gen]: max: 85 983 232; used: 34 756 840; peek: 34 756 840


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 27 янв 2014, 20:21 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Большая часть занятого во втором случае, как-будто, это еще не собранный gc мусор.
Есть вероятность, что просто java редко запускает gc. Будет видно, если запустить accounting.sh gc.
Если free станет много, т.е. total-free станет примерно также как total-free после запуске, то дело в этом.
Если все равно увеличивается - возможно дело в утечке.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 27 янв 2014, 20:36 
Не в сети
Клиент

Зарегистрирован: 09 фев 2011, 15:28
Сообщения: 1092
Карма: 135
сделал accounting.sh gc - метров 40 перебежало во free и вот что имеем.

Код:
Started: 27.01.2014 21:45:52    Uptime: 0 d 01:42:20
Memory total: 1 023 672 320; max: 1 908 932 608; free: 278 641 616
Memory pools:
  Non-heap memory[Code Cache]: max: 50 331 648; used: 7 044 544; peek: 7 053 440
  Heap memory[PS Eden Space]: max: 699 465 728; used: 14 809 640; peek: 678 494 208
  Heap memory[PS Survivor Space]: max: 7 864 320; used: 458 752; peek: 238 499 968
  Heap memory[PS Old Gen]: max: 1 431 699 456; used: 729 772 056; peek: 1 336 813 392
  Non-heap memory[PS Perm Gen]: max: 85 983 232; used: 34 884 224; peek: 35 096 024


Снял еще один дамп - может тут чего-то видно уже будет.


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

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Сколько устройств в дереве примерно? 1, 10, 100, 500?
Все они являются NAS'ами (которые шлют RADIUS-пакеты)?

У вас JDK/JRE обычная, от Oracle?
Попробуйте, пожалуйста раза три подряд вызвать gc и посмотреть не уменьшится ли объем памяти.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 28 янв 2014, 19:38 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Еще может быть от того, что в inet-accounting.xml указано большое кол-во потоков для InetRadiusListener или InetFlowListener (threadCount).


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 28 янв 2014, 20:29 
Не в сети
Клиент

Зарегистрирован: 09 фев 2011, 15:28
Сообщения: 1092
Карма: 135
JDK 1.6u45 Oracle

Вот NAS-ов дофига - больше 500. Это клиентские микротики - беспроводные точки доступа. К ним подключаются уже по PPPoE оконечные pc`s/routers. Схема досталась по наследству, но достаточна эффективна с точки зрения раздачи белых адресов при подключении, на DialUp модуле работало довольно чётко.

В inet-accounting.xml прописано <param name="threadCount">10</param> для радиуса и флоу.

Было так
Код:
Started: 28.01.2014 21:11:35    Uptime: 0 d 02:13:59
Memory total: 1 460 535 296; max: 1 908 932 608; free: 340 502 616
Memory pools:
  Non-heap memory[Code Cache]: max: 50 331 648; used: 7 559 040; peek: 7 564 544
  Heap memory[PS Eden Space]: max: 698 744 832; used: 7 172 400; peek: 678 363 136
  Heap memory[PS Survivor Space]: max: 8 388 608; used: 2 654 336; peek: 238 532 736
  Heap memory[PS Old Gen]: max: 1 431 699 456; used: 1 110 205 944; peek: 1 431 360 376
  Non-heap memory[PS Perm Gen]: max: 85 983 232; used: 35 805 264; peek: 35 805 264

сделал 3 раза accountimg.sh gc, стало
Код:
Started: 28.01.2014 21:11:35    Uptime: 0 d 02:14:29
Memory total: 1 460 600 832; max: 1 908 932 608; free: 726 311 928
Memory pools:
  Non-heap memory[Code Cache]: max: 50 331 648; used: 7 559 040; peek: 7 564 544
  Heap memory[PS Eden Space]: max: 698 613 760; used: 4 236 448; peek: 678 363 136
  Heap memory[PS Survivor Space]: max: 8 585 216; used: 0; peek: 238 532 736
  Heap memory[PS Old Gen]: max: 1 431 699 456; used: 730 062 656; peek: 1 431 360 376
  Non-heap memory[PS Perm Gen]: max: 85 983 232; used: 35 804 920; peek: 35 805 536


Доктор, он жить будет ?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 29 янв 2014, 17:50 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Если постоянно растет и 1-3 вызова accountimg.sh gc не помогают освободить обратно - то скорее всего утечка.
В вашем случае, думаю дело в конфигурации - она парсится для каждого NAS'а и для каждого NAS'а хранятся распарсенные наборы RADIUS-атрибутов.
По крайней мере кроме мусора в дампе чаще всего встречал наборы RADIUS-атрибутов, привязанные к NAS'ам.
Для начала попробуем оптимизировать разбор атрибутов в ближайших билдах.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 29 янв 2014, 19:10 
Не в сети
Клиент

Зарегистрирован: 09 фев 2011, 15:28
Сообщения: 1092
Карма: 135
В основном это radius.inetOption.optionId.attributes. Их как-то можно в один запихать, чтобы настройки брались из конфигов опций через макросы?

И, кстати, нафига они нужны Аккаунтингу ? Их всего не более 30 штук на девайс (в типе устройства прописаны). Пусть даже NAS`ов штук 600 - итого 1800 атрибутов. Неужели это отъедает львиную долю памяти ? Хотя память то не сразу съедается после старта (полной загрузки конфигов), а спустя какое-то время.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 29 янв 2014, 19:45 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Все, понял.
Дело в большом кол-ве RADIUS-источников. При получении и записи RADIUS-пакетов используются буферы. Буферы на каждый поток свои. Они и используют столько памяти.
У вас сейчас, похоже, в inet-accounting.xml указано:
Код:
<param name="datalog.radius.chunk.size" value="524328" />
Или, возможно, не указано совсем.
Попробуйте указать (и в inet-access.xml) тоже:
Код:
<param name="datalog.radius.chunk.size" value="65536" />

Цитата:
И, кстати, нафига они нужны Аккаунтингу ?
Хороший вопрос. Подсистема RADIUS пришла из Dialup, поэтому так получилось. Вместе с кэшем сделаем, чтобы в Accounting вообще не грузились лишние атрибуты.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 29 янв 2014, 21:00 
Не в сети
Клиент

Зарегистрирован: 09 фев 2011, 15:28
Сообщения: 1092
Карма: 135
5 минут - полет нормальный.
Код:
Started: 29.01.2014 23:48:57    Uptime: 0 d 00:05:55
Memory total: 364 118 016; max: 1 908 932 608; free: 215 969 872
Memory pools:
  Non-heap memory[Code Cache]: max: 50 331 648; used: 5 644 864; peek: 5 653 824
  Heap memory[PS Eden Space]: max: 690 880 512; used: 12 524 672; peek: 678 297 600
  Heap memory[PS Survivor Space]: max: 983 040; used: 917 600; peek: 11 350 992
  Heap memory[PS Old Gen]: max: 1 431 699 456; used: 134 705 872; peek: 134 705 872
  Non-heap memory[PS Perm Gen]: max: 85 983 232; used: 34 714 320; peek: 34 714 320

У нас еще DHCP-агентов (свичей) дофига будет - там тоже если что datalog.dhcp.chunk.size подуменьшить ? сейчас 131072 стоит. Пока таких устройств порядка 120, но это число вырастет раза в 3 после полного перехода с IPN.


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

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


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

Сейчас этот форум просматривают: Bing [Bot] и гости: 1


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

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