RAM 使用 Gstreamer filesink 无限增加

问题描述 投票:0回答:0

长时间运行我的 Gstreamer 管道后,我一直收到 OOM 错误。 在 Jetson-Xavier Devkit 上运行。

最小的可重现示例:

gst-launch-1.0 videotestsrc ! omxh265enc ! qtmux ! filesink location=test.mp4 -e

跑前记忆:

sh-5.1# vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 3  0      0 5384300 307304 18665008    0    0     9    59   28   51  6  2 92  0  0

运行2分钟后的记忆:

sh-5.1# vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
10  0      0 5151928 307560 18820992    0    0     9    59   29    1  6  2 92  0  0

运行10分钟后的记忆:

sh-5.1# vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 4  0      0 4794396 308008 19138836    0    0     9    60   31    5  6  2 92  0  0

停止后的记忆:

sh-5.1# vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0      0 4836532 308040 19140984    0    0     9    60   31    5  6  2 92  0  0

RAM 利用率永远不会停止相对线性增长,并且当我停止进程时缓存不会被释放。

如果我用

filesink
替换
fakesink
就不会发生这种情况:
gst-launch-1.0 videotestsrc ! omxh265enc ! qtmux ! fakesink

跑前记忆:

sh-5.1# vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0      0 4836532 308040 19140984    0    0     9    60   31    5  6  2 92  0  0

运行2分钟后的记忆:

sh-5.1# vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 1  0      0 4608692 308192 19141064    0    0     9    60   32    7  6  2 92  0  0

我注意到

splitmuxsink
有同样的问题,在使用
mp4mux
时,以及在关闭
omxh265enc
时,所以我假设
filesink
有什么问题?

有没有人对此有任何见解或知道如何防止 gstreamer 使用我的所有内存?

c gstreamer ram gstreamer-1.0 nvidia-deepstream
© www.soinside.com 2019 - 2024. All rights reserved.