snark13
Member
День добрый
Сервер, текущая версия (5.2.972-6a1e986e860c9cdbf882675701f97c97660d99ed).
Виртуальная машина в Google Cloud - 8 CPU Cores, 32 GB RAM.
Сервер работает в режиме трансляции RTSP потоков с камер клиентам по WebRTC, в это же время он пишет потоки в файлы (TS сегменты)
Сервер обрабатывает порядка 15-17 камер, с каждой камеры по два потока, 360/480p и 720p. В файлы пишутся потоки 720p.
В процессе работы постепенно растет объем памяти используемый сервером и в какой-то момент сервер перестает отвечать на внешние команды и или сам падает или (если мы это обнаруживаем раньше) - перестартуется нами (с переводом камер на резервный сервер).
В этот момент в логах GC видно что вся память выделенная сервису аллокирована и сборщик мусора не может ничего высвободить -
Под hugepages в системе отведено 24 GB, для WCS выставленно 20 GB -
-XX:+UnlockExperimentalVMOptions -XX:+UseZGC -Xms20g -Xmx20g
-XX:+UseLargePages -XX:ZPath=/hugepages
Java -
java 14.0.2 2020-07-14
Java(TM) SE Runtime Environment (build 14.0.2+12-46)
Java HotSpot(TM) 64-Bit Server VM (build 14.0.2+12-46, mixed mode, sharing)
от Oracle.
система - Ubuntu 20.4
Это стабильно случается где-то в течении суток-полутора после старта сервера (может чуть раньше, может чуть позже... причем даже при почти нулевой активности клиентов)
Логи сервера с конфигами выдам по запросу.
Сервер, текущая версия (5.2.972-6a1e986e860c9cdbf882675701f97c97660d99ed).
Виртуальная машина в Google Cloud - 8 CPU Cores, 32 GB RAM.
Сервер работает в режиме трансляции RTSP потоков с камер клиентам по WebRTC, в это же время он пишет потоки в файлы (TS сегменты)
Сервер обрабатывает порядка 15-17 камер, с каждой камеры по два потока, 360/480p и 720p. В файлы пишутся потоки 720p.
В процессе работы постепенно растет объем памяти используемый сервером и в какой-то момент сервер перестает отвечать на внешние команды и или сам падает или (если мы это обнаруживаем раньше) - перестартуется нами (с переводом камер на резервный сервер).
В этот момент в логах GC видно что вся память выделенная сервису аллокирована и сборщик мусора не может ничего высвободить -
Code:
[2021-06-29T14:43:03.723+0000] GC(4851) Min Capacity: 20480M(100%)
[2021-06-29T14:43:03.723+0000] GC(4851) Max Capacity: 20480M(100%)
[2021-06-29T14:43:03.723+0000] GC(4851) Soft Max Capacity: 20480M(100%)
[2021-06-29T14:43:03.723+0000] GC(4851) Mark Start Mark End Relocate Start Relocate End High Low
[2021-06-29T14:43:03.723+0000] GC(4851) Capacity: 20480M (100%) 20480M (100%) 20480M (100%) 20480M (100%) 20480M (100%) 20480M (100%)
[2021-06-29T14:43:03.723+0000] GC(4851) Reserve: 42M (0%) 42M (0%) 42M (0%) 42M (0%) 42M (0%) 34M (0%)
[2021-06-29T14:43:03.723+0000] GC(4851) Free: 0M (0%) 0M (0%) 0M (0%) 0M (0%) 2M (0%) 0M (0%)
[2021-06-29T14:43:03.723+0000] GC(4851) Used: 20438M (100%) 20438M (100%) 20438M (100%) 20438M (100%) 20446M (100%) 20436M (100%)
[2021-06-29T14:43:03.723+0000] GC(4851) Live: - 19514M (95%) 19514M (95%) 19514M (95%) - -
[2021-06-29T14:43:03.723+0000] GC(4851) Allocated: - 4M (0%) 10M (0%) 42M (0%) - -
[2021-06-29T14:43:03.723+0000] GC(4851) Garbage: - 919M (4%) 917M (4%) 907M (4%) - -
[2021-06-29T14:43:03.723+0000] GC(4851) Reclaimed: - - 2M (0%) 12M (0%) - -
[2021-06-29T14:43:03.723+0000] GC(4851) Garbage Collection (Allocation Stall) 20438M(100%)->20438M(100%)
-XX:+UnlockExperimentalVMOptions -XX:+UseZGC -Xms20g -Xmx20g
-XX:+UseLargePages -XX:ZPath=/hugepages
Java -
java 14.0.2 2020-07-14
Java(TM) SE Runtime Environment (build 14.0.2+12-46)
Java HotSpot(TM) 64-Bit Server VM (build 14.0.2+12-46, mixed mode, sharing)
от Oracle.
система - Ubuntu 20.4
Это стабильно случается где-то в течении суток-полутора после старта сервера (может чуть раньше, может чуть позже... причем даже при почти нулевой активности клиентов)
Логи сервера с конфигами выдам по запросу.