Memory leaks, сервер перестает отвечать

snark13

Member
Проблема с появлением ресемплеров на 44100 возникала на серверах после того как у них кончалась память но они восстанавливали работу (возможно терялись какие-то настройки) - это проблема не критичная, более критичная проблема - это проблема утечки памяти

После перевода всего аудио на моно 32кГц фоновая нагрузка на сервера уменьшилась до 15-20%. Но проблема с утечкой памяти не пропала.
Текущие сценарии работы - через N часов вещания камер (обычно менее суток - 12-18 часов) сервер выжирает всю память. В логи сборщика мусора начинают писаться сообщения вида
Out Of Memory (pool-79-thread-1)
Out Of Memory (Logging-Cleaner)
Out Of Memory (RTSP-AGENT-rtsp...
и других потоков (разных)
В это время сервер перестает реагировать на внешние запросы
В результате
- или мы обнаруживаем что сервер перестает реагировать и перестартуем его
- или рвутся соединения камерам, сервер после разрыва соединений таки высвобождает память и начинает отвечать на запросы, мы обнаруживаем что соединения с камерами утеряны и восстанавливаем их
Оба варианта плохие поскольку на несколько минут мы полностью теряем потоки с камер

Я могу еще раз собрать отчет (если хотите с heap dump) в тот момент когда использование памяти уже приближается к максимуму но сервер продолжает еще работать.
 
Last edited:

Max

Administrator
Staff member
Я могу еще раз собрать отчет (если хотите с heap dump) в тот момент когда использование памяти уже приближается к максимуму но сервер продолжает еще работать.
Пока что Вы не предоставили ни одного дампа памяти.
Мы работаем над этой проблемой в тикетах WCS-3226, WCS-3227. До тех пор, пока сборки по этим тикетам не будут выпущены, Рекомендуем взять инстанс с более производительным процессором и большим количеством памяти.
 

snark13

Member
Вроде в каком-то сообщении я делал Report с ссылкой на дамп
Еще раз перепосылаю ее в Report на это ваше предыдущее сообщение (и предоставлю новые дампы как только смогу)
 

Max

Administrator
Staff member
Вроде в каком-то сообщении я делал Report с ссылкой на дамп
Еще раз перепосылаю ее в Report на это ваше предыдущее сообщение (и предоставлю новые дампы как только смогу)
Получили ссылку на дамп, по результатам отпишем.
 

Max

Administrator
Staff member
Ваш дамп подтверждает ранее высказанные предположения. Рекомендации остаются прежними: быстрый диск (желательно ramdisk), побольше процессора (16 CPU cores минимум) и памяти (24 Gb Java heap). В тикете WCS-3227 мы исправим проблему роста очередей записи, после этого требования по процессору и памяти можно будет пересмотреть.
 

Max

Administrator
Staff member
Добрый день.
В сборке 5.2.996 мы исправили проблему, приводившую к неравномерное загрузке процессорных потоков, выделенных для записи настройкой file_recorder_thread_pool_max_size. В свою очередь, это приводило к росту очередей записи и росту потребления памяти.
Кроме того, добавлена возможность сбора статистики записи. Эта статистика показывает, чем занят каждый из процессорных потоков, выделенных под запись, и показывает текущий, минимальный, максимальный и средний размер очередей. По этим показателям можно ориентироваться, что именно является узким местом: если при сравнительно небольшой загрузке процессора очереди растут, проблема в пропускной способности диска, а если загрузка процессора велика и очереди растут, проблема в производительности процессора.
 
Top