最近在做一個採集視頻流,直接寫文件保存下來的東東。 最開始由於是用ffmpeg寫的,沒有這個問題,後來修改成直接文件操作寫視頻數據。 就出來了問題。
具體問題描述:http://blog.csdn.net/yysdsyl/article/details/2453206
大概就是linux 寫文件太頻繁了,會佔用內存一部分作爲cache, 以加快讀取速度,寫的越多,cache就越大,以至於可用內存越來越小,雖然說cache會在可用內存不夠用的時候自己釋放一部分。但是文件操作實際應用的時候,會導致釋放一部分不夠用來分配cache部分,導致程序掛掉。
解決辦法: 執行命令。 echo 3 > /proc/sys/vm/drop_caches 關於drop_caches值的意思,以上連接有說明。 linux會強制釋放cache.