Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:2
Поисковых ботовПоисковых ботов:3
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:6
Форум » starterkit.ru » Embedded Linux
Gstreamer 1.18.4 наблюдается утечка памяти
garrik61
Добавлено 01.05.2022 20:40
0
Сообщение: 1
garrik61
0

Пункты: 5663
Регистрация: 26.03.2012
Linux buildroot 5.10.9+g32513c25d8c7 #8 SMP PREEMPT Sun Apr 17 09:54:56 MSK 2022 aarch64 GNU/Linux
Board SK-iMX8Mini-MOD
buildroot-2021.05 на базе ядра 5.10.9 для i.mx8

Gstreamer 1.18.4
Наблюдается утечка памяти при записи файла на SD карту.
Тестовый пример 1:
gst-launch-1.0 v4l2src device=/dev/video0 ! imxvpuenc_h264 bitrate=3000 \
! h264parse ! matroskamux ! filesink location=/mnt/g_usb/v0.mkv

Память после старта теста :
Mem: 254020K used, 760236K free, 400K shrd, 3760K buff, 59720K cached
через ~4 минуты записи
Mem: 376984K used, 637272K free, 400K shrd, 3816K buff, 148844K cached
через ~10 минут записи
Mem: 607236K used, 407020K free, 404K shrd, 3928K buff, 351776K cached

Тестовый пример 2:
gst-launch-1.0 v4l2src device=/dev/video0 \
! queue ! imxvpuenc_h264 bitrate=3000 ! queue \
! mpegtsmux name=mux2 ! rtpmp2tpay ! udpsink host=192.168.0.194 port=5000
Память после старта теста :
Mem: 240040K used, 774216K free, 324K shrd, 3668K buff, 30476K cached
через ~10 минут
Mem: 239736K used, 774520K free, 324K shrd, 3684K buff, 30476K cached

То есть утечки нет.
При этом не важно какой в первом тесте mux : matroskamux, qtmux или mpegtsmux.

Посоветуйте как можно устранить проблему. ИЛИ я в чём то не прав.

PS.
Аналогичная проблема на HolaDuo-PC
Linux buildroot 5.10.9+g32513c25d8c7 #4 SMP PREEMPT Sat Feb 5 12:01:33 MSK 2022 armv7l GNU/Linux
buildroot-2021.08-sk на базе ядра 5.10.9 для i.mx6
GStreamer 1.18.4
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 01.05.2022 23:14 Сообщение: 2
sasamy
4.71

Пункты: 83534
Регистрация: 14.08.2009
Цитата

Наблюдается утечка памяти при записи файла на SD карту.


скорее наблюдается стандартное поведение ядра - при дисковом I/O для кеширования используется вся свободная память

Цитата

Память после старта теста :
Mem: 254020K used, 760236K free, 400K shrd, 3760K buff, 59720K cached
через ~4 минуты записи
Mem: 376984K used, 637272K free, 400K shrd, 3816K buff, 148844K cached


used увеличивается одинаково с cached, как только системе потребуется память кеши дропаются и память освобождается. Можно вручную дропнуть

echo 3 > /proc/sys/vm/drop_caches
Спуститься к концу Подняться к началу
Персональная информация
garrik61
Добавлено 02.05.2022 11:31 Сообщение: 3
garrik61
0

Пункты: 5663
Регистрация: 26.03.2012
Спасибо .
Отслеживаю память и перед записью нового файла "дропаю".

На одном потоке пока проходит.
Буду смотреть ка на четырёх потоках .
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 02.05.2022 14:58 Сообщение: 4
sasamy
4.71

Пункты: 83534
Регистрация: 14.08.2009
Цитата

Отслеживаю память и перед записью нового файла "дропаю".


команду для ручного дропа я привёл только для проверки что память используется кешем, дропать вручную не нужно - система сама при аллокациях дропает кеши. В этих страницах памяти лежат уже записанные на диск данные и хранятся они "на всякий случай" и дропаются без замедлений в любое время, для системы эта память свободная для использования.
Спуститься к концу Подняться к началу
Персональная информация
garrik61
Добавлено 13.05.2022 18:58 Сообщение: 5
garrik61
0

Пункты: 5663
Регистрация: 26.03.2012
Спасибо за вразумительный совет . На " PI ZERO и Jetson Nano"
приблизительно аналогично. С кешированием немного разобрался.

С уважением Garrik61.
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Embedded Linux