ffmpeg постоянно не хватает памяти

359
Rich

Я использую ffmpeg на WordPress сайте с кучей разных команд и логики, которые работают примерно половину времени. Однажды все будет работать нормально, в то время как в другие дни я получаю ошибки «не могу выделить память». Иногда помогает перезагрузка моего сервера. Не имеет значения, какие команды и опции ffmpeg я использую, потому что это происходит случайным образом, но, похоже, это происходит чаще при использовании -filter complex.

Моя сборка ffmpeg -

ffmpeg version N-90767-g768c077-syslint Copyright (c) 2000-2018 the FFmpeg developers built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-16) configuration: --prefix=/usr/local/cpffmpeg --enable-shared --enable-nonfree --enable-gpl --enable-pthreads --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --extra-cflags=-I/usr/local/cpffmpeg/include --extra-ldflags=-L/usr/local/cpffmpeg/lib --enable-version3 --extra-version=syslint libavutil 56. 15.100 / 56. 15.100 libavcodec 58. 19.100 / 58. 19.100 libavformat 58. 13.100 / 58. 13.100 libavdevice 58. 4.100 / 58. 4.100 libavfilter 7. 18.100 / 7. 18.100 libswscale 5. 2.100 / 5. 2.100 libswresample 3. 2.100 / 3. 2.100 libpostproc 55. 2.100 / 55. 2.100 

Мои характеристики сервера -

50GB of storage  4GB of RAM 

Использование командной строки ulimit -a

core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 1030613 max locked memory (kbytes, -l) 64 max memory size (kbytes, -m) unlimited open files (-n) 1024 pipe size (512 bytes, -p) 8 POSIX message queues (bytes, -q) 819200 real-time priority (-r) 0 stack size (kbytes, -s) 10240 cpu time (seconds, -t) unlimited max user processes (-u) 1030613 virtual memory (kbytes, -v) unlimited file locks (-x) unlimited 

WordPress WP-конфигурации

define( 'WP_MAX_MEMORY_LIMIT', '99999M' ); define( 'WP_MEMORY_LIMIT', '99999M' ); 

Как я могу найти утечку памяти и исправить ее?

0

1 ответ на вопрос

0
Brian Stinar

Что делает phpinfo (); скажем, ваша max_memory установлена?

Могу поспорить, что директива конфигурации игнорируется / не принимается / перезаписывается другой конфигурацией. Возможно, вы не сможете увеличить пределы памяти таким способом, в зависимости от ваших настроек Apache.