forum.bitel.ru http://forum.bitel.ru/ |
|
[BGInetAccounting] Недостаток памяти системы http://forum.bitel.ru/viewtopic.php?f=44&t=8883 |
Страница 1 из 1 |
Автор: | barguzin2 [ 27 янв 2014, 13:34 ] |
Заголовок сообщения: | [BGInetAccounting] Недостаток памяти системы |
Код: Приложению недостаточно выделенной для него памяти! Зарезервировано 2109079552 из 2109079552 (максимум) байтов памяти. Сейчас свободно: 869049792 байтов. Чего он такой прожорливый ? Активных абонентов штук 650, всего пока перенесено порядка 1200. Есть РРРоЕ, DHCP, Netflow (мегабит 200). А если ему еще пару тыщ абонентов и 500-700Мбит потока добавить что с ним станет ? |
Автор: | stark [ 27 янв 2014, 17:01 ] |
Заголовок сообщения: | Re: [BGInetAccounting] Недостаток памяти системы |
версия? |
Автор: | barguzin2 [ 27 янв 2014, 17:41 ] |
Заголовок сообщения: | Re: [BGInetAccounting] Недостаток памяти системы |
Код: Сервер: вер. 6.0 сборка 1659 от 22.01.2014 02:22:29 Причём после обновления последнего (до этого была ноябрьская сборка) еще больше стал памяти кушать. |
Автор: | Amir [ 27 янв 2014, 18:33 ] |
Заголовок сообщения: | Re: [BGInetAccounting] Недостаток памяти системы |
После перезапуска (когда по логам начал принимать RADIUS/Netflow пакеты) сразу столько памяти использует или через какое-то время увеличивается? Если не сразу, желательно два дампа пямяти сделать, сразу как начнет принимать RADIUS/Netflow после перезапуска и когда увеличится больше чем на 200M или даже в два раза, но желательно чтобы не больше 800-1000M. jmap -dump:format=b,file=dump.hprof <pid> |
Автор: | barguzin2 [ 27 янв 2014, 19:06 ] |
Заголовок сообщения: | Re: [BGInetAccounting] Недостаток памяти системы |
Это при запуске Код: 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 |
Автор: | Amir [ 27 янв 2014, 20:21 ] |
Заголовок сообщения: | Re: [BGInetAccounting] Недостаток памяти системы |
Большая часть занятого во втором случае, как-будто, это еще не собранный gc мусор. Есть вероятность, что просто java редко запускает gc. Будет видно, если запустить accounting.sh gc. Если free станет много, т.е. total-free станет примерно также как total-free после запуске, то дело в этом. Если все равно увеличивается - возможно дело в утечке. |
Автор: | barguzin2 [ 27 янв 2014, 20:36 ] |
Заголовок сообщения: | Re: [BGInetAccounting] Недостаток памяти системы |
сделал 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 Снял еще один дамп - может тут чего-то видно уже будет. |
Автор: | Amir [ 28 янв 2014, 19:30 ] |
Заголовок сообщения: | Re: [BGInetAccounting] Недостаток памяти системы |
Сколько устройств в дереве примерно? 1, 10, 100, 500? Все они являются NAS'ами (которые шлют RADIUS-пакеты)? У вас JDK/JRE обычная, от Oracle? Попробуйте, пожалуйста раза три подряд вызвать gc и посмотреть не уменьшится ли объем памяти. |
Автор: | Amir [ 28 янв 2014, 19:38 ] |
Заголовок сообщения: | Re: [BGInetAccounting] Недостаток памяти системы |
Еще может быть от того, что в inet-accounting.xml указано большое кол-во потоков для InetRadiusListener или InetFlowListener (threadCount). |
Автор: | barguzin2 [ 28 янв 2014, 20:29 ] |
Заголовок сообщения: | Re: [BGInetAccounting] Недостаток памяти системы |
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 Доктор, он жить будет ? |
Автор: | Amir [ 29 янв 2014, 17:50 ] |
Заголовок сообщения: | Re: [BGInetAccounting] Недостаток памяти системы |
Если постоянно растет и 1-3 вызова accountimg.sh gc не помогают освободить обратно - то скорее всего утечка. В вашем случае, думаю дело в конфигурации - она парсится для каждого NAS'а и для каждого NAS'а хранятся распарсенные наборы RADIUS-атрибутов. По крайней мере кроме мусора в дампе чаще всего встречал наборы RADIUS-атрибутов, привязанные к NAS'ам. Для начала попробуем оптимизировать разбор атрибутов в ближайших билдах. |
Автор: | barguzin2 [ 29 янв 2014, 19:10 ] |
Заголовок сообщения: | Re: [BGInetAccounting] Недостаток памяти системы |
В основном это radius.inetOption.optionId.attributes. Их как-то можно в один запихать, чтобы настройки брались из конфигов опций через макросы? И, кстати, нафига они нужны Аккаунтингу ? Их всего не более 30 штук на девайс (в типе устройства прописаны). Пусть даже NAS`ов штук 600 - итого 1800 атрибутов. Неужели это отъедает львиную долю памяти ? Хотя память то не сразу съедается после старта (полной загрузки конфигов), а спустя какое-то время. |
Автор: | Amir [ 29 янв 2014, 19:45 ] |
Заголовок сообщения: | Re: [BGInetAccounting] Недостаток памяти системы |
Все, понял. Дело в большом кол-ве 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 вообще не грузились лишние атрибуты.
|
Автор: | barguzin2 [ 29 янв 2014, 21:00 ] |
Заголовок сообщения: | Re: [BGInetAccounting] Недостаток памяти системы |
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. |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |