Please provide complete information as applicable to your setup.
• Hardware Platform (Jetson / GPU): Jetson
• DeepStream Version: 7.1
• JetPack Version (valid for Jetson only): 6.1
• TensorRT Version: 10.3.0.31
• Issue Type( questions, new requirements, bugs): bugs
• How to reproduce the issue ? (This is for bugs. Including which sample app is using, the configuration files content, the command line used and other details for reproducing)
• Requirement details( This is for new requirement. Including the module name-for which plugin or for which sample application, the function description)
When running the following pipeline, a sharp increase in RSS memory usage was observed approximately 15 hours after execution.
Memory usage has increased by 6996 KB.
Upon investigation, we found that this issue does not occur when the elements related to OSD are removed from the pipeline.
I therefore consider the cause to lie with the OSD.
I would like to know the cause and how to fix this.
What measures should be taken to fix this sharp increase in memory usage?
I run this command in the docker container.
The video streamed via RTSP is sample_1080p_h264.mp4.
I used the following ps command to obtain the RSS memory usage.
while true; do
echo -n "`date '+%Y-%m-%d_%H:%M:%S'` " >> psinfo.log
ps -aux | grep gst-launch-1.0 | grep -v grep >> psinfo.log
sleep 5
done
-
With OSD
The commands(pipeline) are as follows:
export USE_NEW_NVSTREAMMUX=yes gst-launch-1.0 \ rtspsrc location="rtsp://192.168.130.26:554/test.mpeg4" protocols=tcp latency=100 drop-on-latency=1 ! rtph264depay ! h264parse ! tee ! queue ! h264parse ! "video/x-h264, stream-format=byte-stream, alignment=au, parsed=true" ! nvv4l2decoder drop-frame-interval=0 num-extra-surfaces=1 enable-max-performance=1 mjpeg=1 ! queue ! tee ! nvvideoconvert copy-hw=VIC ! "video/x-raw(memory:NVMM)" ! mux.sink_0 \ rtspsrc location="rtsp://192.168.130.26:554/test.mpeg4" protocols=tcp latency=100 drop-on-latency=1 ! rtph264depay ! h264parse ! tee ! queue ! h264parse ! "video/x-h264, stream-format=byte-stream, alignment=au, parsed=true" ! nvv4l2decoder drop-frame-interval=0 num-extra-surfaces=1 enable-max-performance=1 mjpeg=1 ! queue ! tee ! nvvideoconvert copy-hw=VIC ! "video/x-raw(memory:NVMM)" ! mux.sink_1 \ nvstreammux name=mux batch-size=2 ! \ queue ! nvvideoconvert ! nvinfer unique-id=1 config-file-path="/opt/nvidia/deepstream/deepstream-7.1/samples/configs/deepstream-app/config_infer_primary.txt" model-engine-file="/opt/nvidia/deepstream/deepstream-7.1/samples/models/Primary_Detector/resnet18_trafficcamnet_pruned.onnx_b2_gpu0_int8.engine" batch-size=2 ! \ tee ! nvstreamdemux name=demux \ demux.src_0 ! queue ! nvvideoconvert ! queue ! nvdsosd x-clock-offset=800 y-clock-offset=820 ! queue ! tee ! queue ! fakesink max-lateness=4294967295 async=0 enable-last-sample=0 \ demux.src_1 ! queue ! nvvideoconvert ! queue ! nvdsosd x-clock-offset=800 y-clock-offset=820 ! queue ! tee ! queue ! fakesink max-lateness=4294967295 async=0 enable-last-sample=0Memory usage log
psinfo.log (21.0 MB) -
Without OSD
The commands(pipeline) are as follows:
export USE_NEW_NVSTREAMMUX=yes gst-launch-1.0 \ rtspsrc location="rtsp://192.168.130.26:554/test.mpeg4" protocols=tcp latency=100 drop-on-latency=1 ! rtph264depay ! h264parse ! tee ! queue ! h264parse ! "video/x-h264, stream-format=byte-stream, alignment=au, parsed=true" ! nvv4l2decoder drop-frame-interval=0 num-extra-surfaces=1 enable-max-performance=1 mjpeg=1 ! queue ! tee ! nvvideoconvert copy-hw=VIC ! "video/x-raw(memory:NVMM)" ! mux.sink_0 \ rtspsrc location="rtsp://192.168.130.26:554/test.mpeg4" protocols=tcp latency=100 drop-on-latency=1 ! rtph264depay ! h264parse ! tee ! queue ! h264parse ! "video/x-h264, stream-format=byte-stream, alignment=au, parsed=true" ! nvv4l2decoder drop-frame-interval=0 num-extra-surfaces=1 enable-max-performance=1 mjpeg=1 ! queue ! tee ! nvvideoconvert copy-hw=VIC ! "video/x-raw(memory:NVMM)" ! mux.sink_1 \ nvstreammux name=mux batch-size=2 ! \ queue ! nvvideoconvert ! nvinfer unique-id=1 config-file-path="/opt/nvidia/deepstream/deepstream-7.1/samples/configs/deepstream-app/config_infer_primary.txt" model-engine-file="/opt/nvidia/deepstream/deepstream-7.1/samples/models/Primary_Detector/resnet18_trafficcamnet_pruned.onnx_b2_gpu0_int8.engine" batch-size=2 ! \ tee ! nvstreamdemux name=demux \ demux.src_0 ! queue ! tee ! queue ! fakesink max-lateness=4294967295 async=0 enable-last-sample=0 \ demux.src_1 ! queue ! tee ! queue ! fakesink max-lateness=4294967295 async=0 enable-last-sample=0Memory usage log
psinfo.log (17.5 MB)


