forum.bitel.ru http://forum.bitel.ru/ |
|
Netflow жрет ОЗУ http://forum.bitel.ru/viewtopic.php?f=44&t=9497 |
Страница 1 из 1 |
Автор: | Mixer7b [ 25 июл 2014, 17:53 ] |
Заголовок сообщения: | Netflow жрет ОЗУ |
Добрый день! Биллинг стоит на Centos 6. Проблема такова: с роутера через netflow логи пишутся на сервер биллинга. При этом постепенно забивается оперативка(за месяц примерно с 10% до 55%). После перезагрузки ОЗУ очищается и сбрасывается на рабочее значение 5-10%. Пробовал менять раздел для сохранения логов-изменений нет. При удалении файлов с логами, свободной опер. памяти становиться больше именно на столько, сколько весит этот файл. Нашел информацию, что возможно надо править эти строки: # Общее для всех значение, используется, если не указано специально для типа лога datalog.chunk.size=131072 # DHCP datalog.dhcp.chunk.size=65536 # RADIUS datalog.radius.chunk.size=65536 # Netflow/sFlow datalog.flow.chunk.size=262144 Если правильно мыслю, то как менять значения. Заранее благодарен за помощь! |
Автор: | stark [ 25 июл 2014, 18:32 ] |
Заголовок сообщения: | Re: Netflow жрет ОЗУ |
Так у вас accounting-сервер забивает опертивку ? что показывает его статус ? |
Автор: | Mixer7b [ 26 июл 2014, 07:04 ] |
Заголовок сообщения: | Re: Netflow жрет ОЗУ |
Что конкретно забивает оперативку или accounting или access не могу разобраться. Как то связано с логами Netflow. Т.к. после отключения Netflow на роутере оперативка останавливается на этом уровне и перестает загружаться. Вот статус Accounting-сервера: [root@bill BGInetAccounting]# ./accounting_status.sh Java Runtime: Sun Microsystems Inc. Java HotSpot(TM) 64-Bit Server VM [1.6.0_39] /usr/java/jdk1.6.0_39/jre Runtime name: 10307@bill Java endorsed dirs: /lib/endorsed:/usr/java/default/jre//lib/endorsed OS: Linux 2.6.32-279.el6.x86_64 [amd64], file.encoding: UTF-8, user.name: root Heap sizes: current=491456k free=488890k max=7292736k Kernel version 5.2 build 1559 from 26.11.2013 12:44:50 Inet version 5.2 build 1259 from 25.11.2013 13:15:45 Flow listener [null:2055] flow packets in current minute: 580 Started: 21.07.2014 14:27:42 Uptime: 4 d 21:34:38 Memory total: 31 522 816; max: 238 616 576; free: 9 707 120 Memory pools: Non-heap memory[Code Cache]: max: 50 331 648; used: 5 727 808; peek: 5 806 016 Heap memory[PS Eden Space]: max: 88 670 208; used: 127 640; peek: 67 174 400 Heap memory[PS Survivor Space]: max: 393 216; used: 245 776; peek: 11 253 840 Heap memory[PS Old Gen]: max: 178 978 816; used: 21 445 632; peek: 178 340 352 Non-heap memory[PS Perm Gen]: max: 85 983 232; used: 31 817 816; peek: 32 009 400 Thread count: 41 Trees in cache: 0 Connections pool to Master status Idle: 3; Active: 0; maxActive: 300; maxIdle: 20 |
Автор: | Mixer7b [ 28 июл 2014, 07:46 ] |
Заголовок сообщения: | Re: Netflow жрет ОЗУ |
В какую сторону копать? Перезагрузка раз в месяц не выход. Может где то в настройках коллектора смотреть? |
Автор: | Amir [ 28 июл 2014, 18:42 ] |
Заголовок сообщения: | Re: Netflow жрет ОЗУ |
Что в inet-accounting.xml? Сколько netflow-агентов? |
Автор: | Mixer7b [ 29 июл 2014, 18:13 ] |
Заголовок сообщения: | Re: Netflow жрет ОЗУ |
Агент 1 на роутере. Ниже мой inet-accounting.xml <?xml version="1.0" encoding="UTF-8"?> <application context="accounting"> <!-- Уникальное имя приложения --> <param name="app.name" value="BGInetAccounting"/> <!-- Уникальный числовой id приложения --> <param name="app.id" value="1"/> <!-- Параметры подключения к БД --> <param name="db.driver" value="com.mysql.jdbc.Driver"/> <param name="db.url" value="jdbc:mysql://127.0.0.1/bgbilling?useUnicode=true&characterEncoding=Cp1251&allowUrlInLocalInfile=true&zeroDateTimeBehavior=convertToNull&jdbcCompliantTruncation=false&queryTimeoutKillsConnection=true&connectTimeout=1000"/> <param name="db.user" value="bill"/> <param name="db.pswd" value="bgbilling"/> <param name="db.validationTimeout" value="10"/> <!-- Параметры подключения к MQ --> <param name="mq.url" value="failover:(tcp://localhost:61616)"/> <param name="mq.user" value="bill"/> <param name="mq.pswd" value="bgbilling"/> <!-- id модуля --> <param name="moduleId" value="1"/> <!-- id корневого устройства --> <param name="rootDeviceId" value="1"/> <!-- Внутренняя переменная приложения, не изменять --> <param name="commonIdentifierName" value="rootDeviceId"/> <!-- Параметры сохранения flow-пакетов в файлы логов --> <!-- Директория, в которую сохранять flow логи --> <param name="datalog.flow.dir" value="data/flow" /> <!-- Размер блока данных в файле лога, также размер буфера на лог файл и поток слушателя --> <param name="datalog.flow.chunk.size" value="524288" /> <!-- Сжимать flow логи: 0 - не сжимать, 1 - zlib --> <param name="datalog.flow.compression.type" value="1" /> <!-- Создание Accounting --> <bean name="accounting" class="ru.bitel.bgbilling.modules.inet.accounting.Accounting"/> <!-- Cоздание процессора flow-пакетов --> <context name="collector"> <!-- Служебный ScheduledExecutorService, необходимый для dataLogger --> <scheduledExecutorService name="hrlydtlggr" corePoolSize="1"/> <!-- Cоздание dataLogger, сохраняющего flow-пакеты на диск (только один экземпляр) --> <bean name="flowDataLogger" class="ru.bitel.bgbilling.modules.inet.collector.IPHourlyDataLogger"> <param name="scheduledExecutor">hrlydtlggr</param> </bean> <!-- Cоздание слушателя flow-пакетов на порту с передачей ему dataLogger --> <bean name="flowListener" class="ru.bitel.bgbilling.modules.inet.collector.InetFlowListener"> <constructor factoryMethod="newInstance"> <!-- Тип слушателя, netflow, netflow9 или sflow --> <param name="type" value="netflow"/> <!-- Хост (интерфейс), на котором будет открыт сокет. Если пусто - на всех --> <param name="host" value=""/> <!-- Порт, на котором будет открыт сокет --> <param name="port" value="2055"/> <!-- Размер буфера приема слушателя --> <param name="recvBufferSize">4 * 1024 * 1024</param> <!-- Рекомендуемый SO_RCVBUF сокета --> <param name="soRCVBUF">512 * 1024</param> <!-- Количество потоков-обработчиков --> <param name="threadCount" value="10"/> <!-- id устройств-источников, если на данном порту нужно обрабатывать данные только у определенных источников --> <param name="agentDeviceIds" value=""/> <!-- Передача dataLogger --> <param name="dataLogger">flowDataLogger</param> </constructor> </bean> <!-- <bean name="flowListener" class="ru.bitel.bgbilling.modules.inet.collector.InetFlowListener"> <constructor factoryMethod="newInstance"> <param name="type" value="netflow9"/> <param name="host" value=""/> <param name="port" value="9367"/> <param name="recvBufferSize">4 * 1024 * 1024</param> <param name="soRCVBUF">512 * 1024</param> <param name="threadCount" value="8"/> <param name="agentDeviceIds" value="4"/> <param name="dataLogger">flowDataLogger</param> </constructor> </bean> <bean name="flowListener" class="ru.bitel.bgbilling.modules.inet.collector.InetFlowListener"> <constructor factoryMethod="newInstance"> <param name="type" value="netflow"/> <param name="host" value=""/> <param name="port" value="9368"/> <param name="recvBufferSize">4 * 1024 * 1024</param> <param name="soRCVBUF">512 * 1024</param> <param name="threadCount" value="8"/> <param name="agentDeviceIds" value="20"/> <param name="dataLogger">flowDataLogger</param> </constructor> </bean> --> <context name="detail"> <!-- Cоздание обработчика flow детализации --> <bean name="detailWorker" class="ru.bitel.bgbilling.modules.inet.accounting.detail.InetDetailWorker"/> </context> </context> |
Автор: | Amir [ 29 июл 2014, 18:28 ] |
Заголовок сообщения: | Re: Netflow жрет ОЗУ |
Перезагрузка Accounting освобождает память? Если да, то если вызвать два-три раза "accounting.sh gc" не приводит к освобождению? |
Автор: | stark [ 29 июл 2014, 18:47 ] |
Заголовок сообщения: | Re: Netflow жрет ОЗУ |
Amir писал(а): Перезагрузка Accounting освобождает память? Если да, то если вызвать два-три раза "accounting.sh gc" не приводит к освобождению? Если верить статусу, то там нечего освобождать вроде. Цитата: Memory total: 31 522 816; max: 238 616 576; free: 9 707 120 Этот статус точно снят в момент когда память забита ? |
Автор: | stark [ 29 июл 2014, 18:50 ] |
Заголовок сообщения: | Re: Netflow жрет ОЗУ |
Mixer7b писал(а): Что конкретно забивает оперативку или accounting или access не могу разобраться. а что показывает htop? какое приложение память потребляет больше всех ? |
Автор: | stark [ 30 июл 2014, 19:24 ] |
Заголовок сообщения: | Re: Netflow жрет ОЗУ |
Судя по скриншоту Java приложение НЕ потребляет много памяти ..ДА и памяти реально потреблено - это то, что зеленым показано . Дисковый кэш наш не волнует, он может хоть весь забится. Так и логично что он растет, так как в него попадают файлы. И очищается, когда файлы удаляются. И дисковый кеш очищается, если памяти реально(зеленой) не хватает. Смыслс дискового кэша в том, чтобы использовать свободную память по мере возможности под кэш и очищать если только не хватает памяти реальной(зеленой) . На роутере вашем ничего не кешируется, так как там столько файлов не пишется. |
Автор: | stark [ 30 июл 2014, 19:28 ] |
Заголовок сообщения: | Re: Netflow жрет ОЗУ |
Если вам не нравится кэш, вы можете наверное его отключить. Но вопрос - зачем ? если он не мешает? |
Автор: | Mixer7b [ 30 июл 2014, 19:36 ] |
Заголовок сообщения: | Re: Netflow жрет ОЗУ |
Спасибо! Проблема была еще в том, что логи писались изначально в маленький раздел. Одновременно с индикацией загрузки ОЗУ забивалась и память в этом разделе. В итоге сервис accounting стопорился и абоненты не могли подключиться. Но перезагрузка Сервера давала времени немного поработать accounting'у и поэтому ,почему то, грешили на ОЗУ. В общем огромное спасибо! Будем наблюдать за работой. |
Автор: | stark [ 30 июл 2014, 19:48 ] |
Заголовок сообщения: | Re: Netflow жрет ОЗУ |
Mixer7b писал(а): Спасибо! Проблема была еще в том, что логи писались изначально в маленький раздел. Одновременно с индикацией загрузки ОЗУ забивалась и память в этом разделе. В итоге сервис accounting стопорился и абоненты не могли подключиться. Но перезагрузка Сервера давала времени немного поработать accounting'у и поэтому ,почему то, грешили на ОЗУ. В общем огромное спасибо! Будем наблюдать за работой. так надо было смотреть логи accounting-а. Скорее всего там ругалось что-то по этому поводу. |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |