How to recovery the system free memory after I stop the record pipeline
hzhong
hongbo.zhong at ivicar.cn
Sat Mar 12 15:38:50 UTC 2016
Hi
How to recovery the system free memory after I stop the record pipeline.
I am using the following step to check the system free memory and create a pipline to record the video stream.
The system free memory will decrease after the pipline running.
But when I stop the pipline, The system memory could not be recovery to the origin memory state. After I delete
the record file, The system memory can be recovery.
1. X86:
(1) Test enviroment:
OS Enviroment: Ubuntu 14.04.4
Gstreamer Version: GStreamer 1.6.3
(2) Check the free memory script(The script name is test.sh) :
#!/bin/sh
while :
do
cat /proc/meminfo | grep MemFree
sleep 5
done
(3) Test step
The fist step: Running the test.sh to check the system free memory
The next step: Running the record command as the following:
gst-launch-1.0 videotestsrc ! video/x-raw,format=UYVY,width=640,hight=480 ! videoconvert ! video/x-raw,format=I420 ! x264enc ! avimux ! filesink location=./test.avi
(4) Test Result:
When The pipeline is running, The system free memory will be decreased.
MemFree: 293064 kB
MemFree: 231984 kB
MemFree: 226280 kB
MemFree: 220780 kB
MemFree: 215340 kB
MemFree: 222788 kB
MemFree: 217228 kB
MemFree: 211908 kB
MemFree: 206048 kB
MemFree: 200344 kB
MemFree: 194796 kB
MemFree: 188904 kB
MemFree: 183448 kB
MemFree: 177868 kB
MemFree: 172072 kB
MemFree: 166212 kB
MemFree: 160756 kB
MemFree: 166684 kB
MemFree: 161036 kB
MemFree: 159176 kB
MemFree: 145444 kB
After I stop the pipeline(Using ctrl + c), the free memory will increase something. But it could not to recovery it.
MemFree: 200084 kB
MemFree: 199804 kB
MemFree: 203276 kB
MemFree: 199844 kB
MemFree: 200084 kB
MemFree: 200044 kB
After I delete the record file(test.avi), The system free memory can be recovery.
MemFree: 199968 kB
MemFree: 312332 kB
MemFree: 312288 kB
2. For ARM platform
Freescale imx6q:
gst-launch-1.0 videotestsrc ! video/x-raw,format=UYVY,width=640,hight=480 ! videoconvert ! video/x-raw,format=I420 ! imxvpuenc_h264 ! avimux ! filesink location=./test.avi
Test Result:
When the pipeline is running, The system free memory state:
MemFree: 744920 kB
MemFree: 744600 kB
MemFree: 736352 kB
MemFree: 731656 kB
MemFree: 726316 kB
MemFree: 721024 kB
MemFree: 715908 kB
MemFree: 711088 kB
MemFree: 705872 kB
MemFree: 700204 kB
MemFree: 695028 kB
MemFree: 689984 kB
MemFree: 684784 kB
MemFree: 683872 kB
MemFree: 683772 kB
MemFree: 678640 kB
MemFree: 673712 kB
MemFree: 668380 kB
MemFree: 663100 kB
MemFree: 657808 kB
MemFree: 652732 kB
MemFree: 647516 kB
MemFree: 642316 kB
MemFree: 641476 kB
... ... ... ... ... ...
MemFree: 252860 kB
MemFree: 252812 kB
MemFree: 252860 kB
MemFree: 252844 kB
MemFree: 252796 kB
MemFree: 252876 kB
MemFree: 252876 kB
MemFree: 252876 kB
MemFree: 252868 kB
MemFree: 252836 kB
MemFree: 252884 kB
MemFree: 252744 kB
MemFree: 252812 kB
MemFree: 252736 kB
MemFree: 252736 kB
MemFree: 252624 kB
MemFree: 252672 kB
MemFree: 252704 kB
MemFree: 252516 kB
MemFree: 575392 kB
After I delete the record file(test.avi), The free memory can be recovery to the original state.
MemFree: 743300 kB
MemFree: 743416 kB
MemFree: 743408 kB
MemFree: 743220 kB
MemFree: 743284 kB
Thanks,
Hongbo
More information about the gstreamer-devel
mailing list