173 похожих чатов

У меня тут был кейс с докером, который меня буквально

вымотал за два месяца. я наверное тупой, но я устал с этим бодаться. итак, кейс. У сервера jitsi есть компонент jibri - эта штука позволяет записывать видеоконференции довольно черезочковым способом: службе jibri выдается секрет, она запускает безгуевый хром и при помощи этого секрета подключается к конфе невидимым участником. После чего запускается ffmpeg, который пишет невидимое окно хрома со всем внутри происходящим. Чтобы можно было записывать несколько сессий одновременно, нужно запустить пять таких служб. Я их поднял в контейнерах. Теперь перехожу к сути: у ffmpeg есть одна ебучая особенность: он начинает складывать кадры в память, если не успевает кодировать налету, либо что-то с кодированием идет не так. У меня в принципе могут запускать до пяти записей одновременно. В какой-то момент (закономерность я не отследил), один из ffmpeg-ов начинает жрать CPU, остальные ffmpegи перестают успевать что-либо писать, складывают все в оперативную память, она очень быстро заканчивается, после чего приходит OOM и все процессы убивает к хуям. В итоге ползатели ноют, все ноют, собесы и презы в ВКС не записываются и вообще все плохо. Как изолировать процессы внутри каждого контейнера, ограничив им CPU и оперативную память?

16 ответов

21 просмотр

docker run --memory=2g --memory-swap=2g --memory-swappiness=0

Михаил-Смирнов Автор вопроса
Dupe
docker run --memory=2g --memory-swap=2g --memory-s...

а CPU? я виртуалке выделил 48 виртуальных ядер. в итоге по мониторингу дело до ходит до 50% нагрузки, потом память, потом все знают...

Мы тупые и не сможем помочь:(

Михаил-Смирнов Автор вопроса
Андрей
https://docs.docker.com/config/containers/resource...

о, спосебо. я действительно туповат

пропатчь ffmpeg, шо ты как не девопс

Михаил-Смирнов Автор вопроса
🥓 Хамон Эврибади
пропатчь ffmpeg, шо ты как не девопс

ооо, в гитхабе jitsi meet по поводу ffmpeg висит issue с 2020 года, один из самых популярных по количеству ответов. кому-то помогает откат версии ffmpeg, кому-то компилирование с какими-то ябучими ключами некоторых нестабильных версий, но проблема глобально не решается

Михаил Смирнов
ооо, в гитхабе jitsi meet по поводу ffmpeg висит i...

https://hub.docker.com/r/altproject/docker-headless-vnc-chrome и писать сам vnc

Михаил-Смирнов Автор вопроса
🥓 Хамон Эврибади
https://hub.docker.com/r/altproject/docker-headles...

jibri - это уже написанная служба, которая запускает ffmpeg с уже захардкоженными ключами.

Эээм? https://docs.docker.com/config/containers/resource_constraints/ но вообще софтина конечно должна осознавать что у нее лимиты cgroups навешаны

Михаил-Смирнов Автор вопроса
Андрей
Насильно глушить её ffmpeg и запускать свой?

там были некоторые умельцы, которые через алиас подсовывали свой sh-скрипт, где через sed поменяли захардкоженные ключи запуска для ffmpeg. Мне как-то жалко на это времени уже

Evgеnу Martynenko
А форкнуть на Гите и переписать в исходниках?

Жень, он же молодой. Там какое-то самописное, от слова совсем

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
есть ПО, которое лежит папкой, по сути и не инсталится, а просто запускается. Надо раскидать по машинам в домене. Я так понял, что прям настройками GPO, копировать я смогу тол...
Dmitriy
8
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Карта сайта