forum.bitel.ru
http://forum.bitel.ru/

BGInetAccess Утечка файловых дескрипторов (CRM)
http://forum.bitel.ru/viewtopic.php?f=44&t=10724
Страница 1 из 1

Автор:  Brodayga [ 21 июл 2015, 14:43 ]
Заголовок сообщения:  BGInetAccess Утечка файловых дескрипторов

Код:
Kernel version 6.1.1075 / 28.05.2015 23:46:34
Inet version 6.1.695 / 28.05.2015 23:46:47

Каждый спад это перезапуск.

Вложения:
bg.png
bg.png [ 16.19 КБ | Просмотров: 7087 ]

Автор:  stark [ 21 июл 2015, 15:41 ]
Заголовок сообщения:  Re: BGInetAccess Утечка файловых дескрипторов

а какие файлы в основном держит можете посмотреть ? netflow - логи ?

Автор:  Brodayga [ 21 июл 2015, 17:08 ]
Заголовок сообщения:  Re: BGInetAccess Утечка файловых дескрипторов

Код:
lsof -p `cat /usr/local/BGInetAccess/.run/access.pid`|grep 'BGInetAccess/data/dhcp/' -c

4056
Код:
lsof -p `cat /usr/local/BGInetAccess/.run/access.pid`|wc -l
4253

Автор:  stark [ 21 июл 2015, 18:42 ]
Заголовок сообщения:  Re: BGInetAccess Утечка файловых дескрипторов

а там файлы вообще не закрываются ? В логах ошибок нет?

Автор:  Brodayga [ 23 июл 2015, 03:21 ]
Заголовок сообщения:  Re: BGInetAccess Утечка файловых дескрипторов

stark писал(а):
а там файлы вообще не закрываются ?

Это вопрос к разработчикам :) . Как узнать закрываются ли они вообще? Я так понимаю закрываются(количество иногда уменьшается видно по графику),но не все которые должны иначе зачем аксесу держать открытыми 30 тысяч.
stark писал(а):
В логах ошибок нет?

Есть, по графику нашёл большой скачёк в это время ошибки связанные с логером .. их очень много.
Код:
dhcp 07-21/15:30:59 ERROR [DhcpListener] DatagramListener - dhcpLstnr queue is full!
dhcp 07-21/15:31:00 ERROR [hrlydtlggr-p-9-t-1] HourlyDataLoggerTracker -
java.nio.channels.ClosedByInterruptException
        at java.nio.channels.spi.AbstractInterruptibleChannel.end(AbstractInterruptibleChannel.java:202)
        at sun.nio.ch.FileChannelImpl.write(FileChannelImpl.java:210)
        at ru.bitel.bgbilling.kernel.base.server.datalog.channels.ZLIBWritableChannel.deflate(ZLIBWritableChannel.java:93)
        at ru.bitel.bgbilling.kernel.base.server.datalog.channels.ZLIBWritableChannel.write(ZLIBWritableChannel.java:80)
        at ru.bitel.bgbilling.kernel.base.server.datalog.DataLogWriter.writeBuffer(DataLogWriter.java:42)
        at ru.bitel.bgbilling.kernel.base.server.datalog.BGDataLogWriter.flush(BGDataLogWriter.java:100)
        at ru.bitel.bgbilling.kernel.network.dhcp.datalog.DhcpDataLog$1.flush(DhcpDataLog.java:83)
        at ru.bitel.bgbilling.kernel.base.server.datalog.BGDataLog.close(BGDataLog.java:772)
        at ru.bitel.bgbilling.kernel.network.dhcp.datalog.DhcpDataLog.close(DhcpDataLog.java:121)
        at ru.bitel.bgbilling.kernel.base.server.datalog.hourly.HourlyDataLogEntry.close(HourlyDataLogEntry.java:76)
        at ru.bitel.bgbilling.kernel.base.server.datalog.hourly.HourlyDataLoggerTracker$2.call(HourlyDataLoggerTracker.java:103)
        at ru.bitel.bgbilling.kernel.base.server.datalog.hourly.HourlyDataLoggerTracker$2.call(HourlyDataLoggerTracker.java:1)
        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:745)
        at ru.bitel.common.worker.WorkerThread.run(WorkerThread.java:46)
dhcp 07-21/15:31:00 ERROR [hrlydtlggr-p-9-t-1] HourlyDataLoggerTracker -
java.nio.channels.ClosedByInterruptException
        at java.nio.channels.spi.AbstractInterruptibleChannel.end(AbstractInterruptibleChannel.java:202)
        at sun.nio.ch.FileChannelImpl.write(FileChannelImpl.java:210)
        at ru.bitel.bgbilling.kernel.base.server.datalog.channels.ZLIBWritableChannel.deflate(ZLIBWritableChannel.java:93)
        at ru.bitel.bgbilling.kernel.base.server.datalog.channels.ZLIBWritableChannel.write(ZLIBWritableChannel.java:80)
        at ru.bitel.bgbilling.kernel.base.server.datalog.DataLogWriter.writeBuffer(DataLogWriter.java:42)
...
...
...


Вложения:
bg.png
bg.png [ 27.37 КБ | Просмотров: 7061 ]

Автор:  Brodayga [ 23 июл 2015, 03:24 ]
Заголовок сообщения:  Re: BGInetAccess Утечка файловых дескрипторов

На всякий случай
Код:
lsof -p `cat /usr/local/BGInetAccess/.run/access.pid`|grep 'BGInetAccess/data/dhcp/' -c
7871

Код:
lsof -p `cat /usr/local/BGInetAccess/.run/access.pid`|wc -l
8488

Автор:  stark [ 23 июл 2015, 13:52 ]
Заголовок сообщения:  Re: BGInetAccess Утечка файловых дескрипторов

Brodayga писал(а):
stark писал(а):
а там файлы вообще не закрываются ?

Это вопрос к разработчикам :) . Как узнать закрываются ли они вообще? Я так понимаю закрываются(количество иногда уменьшается видно по графику),но не все которые должны иначе зачем аксесу держать открытыми 30 тысяч.
stark писал(а):
В логах ошибок нет?

Есть, по графику нашёл большой скачёк в это время ошибки связанные с логером .. их очень много.
Код:
dhcp 07-21/15:30:59 ERROR [DhcpListener] DatagramListener - dhcpLstnr queue is full!
dhcp 07-21/15:31:00 ERROR [hrlydtlggr-p-9-t-1] HourlyDataLoggerTracker -
java.nio.channels.ClosedByInterruptException
        at java.nio.channels.spi.AbstractInterruptibleChannel.end(AbstractInterruptibleChannel.java:202)
        at sun.nio.ch.FileChannelImpl.write(FileChannelImpl.java:210)
        at ru.bitel.bgbilling.kernel.base.server.datalog.channels.ZLIBWritableChannel.deflate(ZLIBWritableChannel.java:93)
        at ru.bitel.bgbilling.kernel.base.server.datalog.channels.ZLIBWritableChannel.write(ZLIBWritableChannel.java:80)
        at ru.bitel.bgbilling.kernel.base.server.datalog.DataLogWriter.writeBuffer(DataLogWriter.java:42)
        at ru.bitel.bgbilling.kernel.base.server.datalog.BGDataLogWriter.flush(BGDataLogWriter.java:100)
        at ru.bitel.bgbilling.kernel.network.dhcp.datalog.DhcpDataLog$1.flush(DhcpDataLog.java:83)
        at ru.bitel.bgbilling.kernel.base.server.datalog.BGDataLog.close(BGDataLog.java:772)
        at ru.bitel.bgbilling.kernel.network.dhcp.datalog.DhcpDataLog.close(DhcpDataLog.java:121)
        at ru.bitel.bgbilling.kernel.base.server.datalog.hourly.HourlyDataLogEntry.close(HourlyDataLogEntry.java:76)
        at ru.bitel.bgbilling.kernel.base.server.datalog.hourly.HourlyDataLoggerTracker$2.call(HourlyDataLoggerTracker.java:103)
        at ru.bitel.bgbilling.kernel.base.server.datalog.hourly.HourlyDataLoggerTracker$2.call(HourlyDataLoggerTracker.java:1)
        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:745)
        at ru.bitel.common.worker.WorkerThread.run(WorkerThread.java:46)
dhcp 07-21/15:31:00 ERROR [hrlydtlggr-p-9-t-1] HourlyDataLoggerTracker -
java.nio.channels.ClosedByInterruptException
        at java.nio.channels.spi.AbstractInterruptibleChannel.end(AbstractInterruptibleChannel.java:202)
        at sun.nio.ch.FileChannelImpl.write(FileChannelImpl.java:210)
        at ru.bitel.bgbilling.kernel.base.server.datalog.channels.ZLIBWritableChannel.deflate(ZLIBWritableChannel.java:93)
        at ru.bitel.bgbilling.kernel.base.server.datalog.channels.ZLIBWritableChannel.write(ZLIBWritableChannel.java:80)
        at ru.bitel.bgbilling.kernel.base.server.datalog.DataLogWriter.writeBuffer(DataLogWriter.java:42)
...
...
...


Вот похоже и оно. а можете архив с логами access целиком прислать? или в helpdesk или на почту.

Автор:  Amir [ 24 июл 2015, 04:11 ]
Заголовок сообщения:  Re: BGInetAccess Утечка файловых дескрипторов

А сколько у вас коммутаторов от которых идёт dhcp?

Автор:  Brodayga [ 24 июл 2015, 14:43 ]
Заголовок сообщения:  Re: BGInetAccess Утечка файловых дескрипторов

473

Автор:  Brodayga [ 24 июл 2015, 14:49 ]
Заголовок сообщения:  Re: BGInetAccess Утечка файловых дескрипторов

Используется схема с двумя сессиями (дшсп и ip)
и
<bean name="dhcpProcessor" class="ru.bitel.bgbilling.modules.inet.dhcp.InetDhcpProcessor2"/>

Автор:  Brodayga [ 30 июл 2015, 17:38 ]
Заголовок сообщения:  Re: BGInetAccess Утечка файловых дескрипторов

Логи скинул. Открытых файлов за две недели аптайма уже 15000

Вложения:
bg.png
bg.png [ 15.76 КБ | Просмотров: 7003 ]

Автор:  stark [ 30 июл 2015, 17:45 ]
Заголовок сообщения:  Re: BGInetAccess Утечка файловых дескрипторов (CRM)

я наделся что у вас там будут ошибки , которые вы приводили сверху.
Цитата:
ClosedByInterruptException


Пока вижу такие зато
Цитата:
07-27/11:51:37 WARN [Finalizer] BGDataLog - DataLog was open on finalize! data/dhcp/source_263/2015/2015-07/2015-07-27/log_2015-07-27-11.003.bgdl

и такие
Цитата:
07-26/17:18:01 INFO [Dispatcher-Thread-3] HourlyDataLoggerTracker - Discarded 1 messages due to full event buffer including: Close dataLog file [/usr/local/BGInetAccess/data/dhcp/source_276/2015/2015-07/2015-07-26/log_2015-07-26-17.002.bgdl]


Изучаем.

Автор:  Brodayga [ 30 июл 2015, 18:01 ]
Заголовок сообщения:  Re: BGInetAccess Утечка файловых дескрипторов (CRM)

stark писал(а):
я наделся что у вас там будут ошибки , которые вы приводили сверху.
Цитата:
ClosedByInterruptException


в error.log.1 они есть
cat ./error.log.1 |grep ClosedByInterruptException -c
5289
stark писал(а):
Пока вижу такие зато
Цитата:
07-27/11:51:37 WARN [Finalizer] BGDataLog - DataLog was open on finalize! data/dhcp/source_263/2015/2015-07/2015-07-27/log_2015-07-27-11.003.bgdl

Автор:  stark [ 30 июл 2015, 18:02 ]
Заголовок сообщения:  Re: BGInetAccess Утечка файловых дескрипторов (CRM)

на всякий случай было бы неплохо посмотреть all.log, error.log и dhcp.log. Я думал вы все логи пришлете.

Автор:  Brodayga [ 30 июл 2015, 18:04 ]
Заголовок сообщения:  Re: BGInetAccess Утечка файловых дескрипторов (CRM)

Могу предоставить доступ к машине.

Автор:  stark [ 30 июл 2015, 18:13 ]
Заголовок сообщения:  Re: BGInetAccess Утечка файловых дескрипторов (CRM)

Brodayga писал(а):
Могу предоставить доступ к машине.

давайте.

Автор:  Amir [ 10 авг 2015, 17:27 ]
Заголовок сообщения:  Re: BGInetAccess Утечка файловых дескрипторов (CRM)

Выложили обновление, попытались исправить, но пока не до конца понятно, откуда там происходит interrupt.
На тестовых, соответственно, не повторяется. Т.е. утечка может остаться.

Также в inet-access.xml рекомендуем datalog.dhcp.chunk.size изменить с 131072 на 65536, чтобы уменьшить потребление памяти для InetAccess, сейчас 512Мб скорее всего только из-за этих буферов записи DHCP-логов.
Также возможно стоит уменьшить буферы MySQL, чтобы машина не уходила в swap.

Не забудьте сделать бэкап старых библиотек.

Автор:  Brodayga [ 18 сен 2015, 14:18 ]
Заголовок сообщения:  Re: BGInetAccess Утечка файловых дескрипторов (CRM)

Amir писал(а):
Выложили обновление, попытались исправить, но пока не до конца понятно, откуда там происходит interrupt.
На тестовых, соответственно, не повторяется. Т.е. утечка может остаться.

Также в inet-access.xml рекомендуем datalog.dhcp.chunk.size изменить с 131072 на 65536, чтобы уменьшить потребление памяти для InetAccess, сейчас 512Мб скорее всего только из-за этих буферов записи DHCP-логов.
Также возможно стоит уменьшить буферы MySQL, чтобы машина не уходила в swap.

Не забудьте сделать бэкап старых библиотек.

Забыл отписаться. Количество открытых файлов перестало расти. Спасибо.

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/