LINUX.ORG.RU

OBS studio съедает всю память при запуске и падает

 ,


0

1

Суть проблемы: при попытке запустить obs studio поглощается вся оператива, какая есть (64 гб), после чего процесс убивается. Gentoo, kde, ryzen 5950x, amd 6700xt, obs studio 29.1.3 из оф дерева портажа. Ядро 6.1.19. Что могло пойти не так? Куда копать?

Раньше obs studio нормально работал, не пользовался несколько месяцев, сейчас снова понадобился. Отследить, после какого апдейта перестал работать, не представляется возможным.

Update. Откат на версию 28.1.2 убирает проблему, но это старая мажорная версия.

★★

Последнее исправление: yura_ts (всего исправлений: 3)
Ответ на: комментарий от BattleCoder

Не знаю? У меня вывод намного короче, до запуска граф интерфейса к obs studio дело не доходит

yura@redstar ~ $ obs
debug: Found portal inhibitor
debug: Attempted path: share/obs/obs-studio/locale/en-US.ini
debug: Attempted path: /usr/share/obs/obs-studio/locale/en-US.ini
debug: Attempted path: share/obs/obs-studio/themes/System.qss
debug: Attempted path: /usr/share/obs/obs-studio/themes/System.qss
info: Using EGL/X11
info: CPU Name: AMD Ryzen 9 5950X 16-Core Processor
info: CPU Speed: 3908.973MHz
info: Physical Cores: 16, Logical Cores: 32
info: Physical Memory: 64192MB Total, 54984MB Free
info: Kernel Version: Linux 6.1.19-gentoo
info: Distribution: Gentoo "2.13"
info: Desktop Environment: KDE (KDE)
info: Session Type: x11
info: Window System: X11.0, Vendor: The X.Org Foundation, Version: 1.21.1
info: Qt Version: 5.15.10 (runtime), 5.15.10 (compiled)
info: Portable mode: false
QMetaObject::connectSlotsByName: Connecting slot on_transitionDuration_valueChanged() with the first of the following compatible signals: ("valueChanged(int)", "valueChanged(QString)")
info: OBS 29.1.3 (linux)
info: ---------------------------------
info: ---------------------------------
info: audio settings reset:
        samples per sec: 48000
        speakers:        2
        max buffering:   960 milliseconds
        buffering type:  dynamically increasing
info: ---------------------------------
info: Initializing OpenGL...
info: Loading up OpenGL on adapter AMD AMD Radeon RX 6700 XT (navi22, LLVM 16.0.6, DRM 3.49, 6.1.19-gentoo)
info: OpenGL loaded successfully, version 4.6 (Core Profile) Mesa 23.1.3, shading language 4.60
info: ---------------------------------
info: video settings reset:
        base resolution:   1920x1080
        output resolution: 1920x1080
        downscale filter:  Bilinear
        fps:               30/1
        format:            NV12
        YUV mode:          Rec. 709/Full
info: NV12 texture support not available
info: P010 texture support not available
info: Audio monitoring device:
        name: Default
        id: default
info: ---------------------------------
Убито
yura_ts ★★
() автор топика
Ответ на: комментарий от Kolya95

Не имел дела с флатпаком и пока не хочется (всё-таки лучше, когда все пакеты управляются портажем, а не вручную поставлены), но потыкаю и её.

yura_ts ★★
() автор топика

Не знаю, может ли это быть связано, но вдруг?

https://github.com/obsproject/obs-studio/releases/tag/29.0.0

Одно из изменений.

The Replay Buffer’s memory limit is now set to 75% of installed system RAM rather than fixed to 8GB [Rodney]

А если вынуть планку памяти (если это возможно) или как-то обмануть через cgroup, например, то будет работать? https://unix.stackexchange.com/questions/44985/limit-memory-usage-for-a-single-linux-process#125024

Я не очень в курсе про такое ПО, наверное, чем больше оперативки тем обычно лучше, но точно ли оно рассчитано на 64 гигабайта, вдруг они его недотестировали под такие крайние случаи? Что если этот буфер как-то неправильно заполняется, если он слишком большой?

Может ещё это всё-таки как-то конфигурирется? в худшем случае заплатку можно сделать и пересобрать, раз уж Gentoo. :-)

BattleCoder ★★★★★
()
Ответ на: комментарий от ox55ff

Даже если старая версия будет работать и устроит, не лишним будет сообщить авторам, что они в новой что-то сломали, что могли даже не заметить. В том числе потому что конфигурация их машин другая, или какой-то особенный набор библиотек-зависимостей.

BattleCoder ★★★★★
()
Ответ на: комментарий от ox55ff

Не было времени вникнуть до конца. Совершенно точно будет дальше пилиться поддержка аппаратного кодирования всякими амдшными карточками. Конкретно сейчас у меня в старой obs доступно только программное кодирование, например. Опять же, я не разбирался, почему - пока что мощностей хватает с запасом.

yura_ts ★★
() автор топика
Ответ на: комментарий от BattleCoder

А если вынуть планку памяти (если это возможно)

Не пойдёт.

как-то обмануть через cgroup, например

а вот это интересно, пойду займусь.

недотестировали под такие крайние случаи? Что если этот буфер как-то неправильно заполняется, если он слишком большой?

да обычная машина, 64гб уже у многих людей. Можно в принципе тыкать 9999 версию, но работать тестировщиком для них пока не очень хочется

yura_ts ★★
() автор топика
Последнее исправление: yura_ts (всего исправлений: 1)