| CMS/프레임워크 | Rhymix 2.1 |
|---|---|
| 개발 언어 | PHP 7.4 |

오늘 뭔가 사이트가 느린 거 같아서 서버를 확인해 보니 cpu가 100% 상태를 계속 유지하고 있었습니다.
이런 식으로 ffmpeg 관련된게 cpu를 잡아먹고 있는 거 같았습니다.
서버를 재부팅 하니 증상은 사라졌네요.

netdata 로 확인해 보니 대략 오전 8시 부터 증상이 시작됐네요. (밤 12시에 발견했습니다;;)
해당 시간 로그를 확인해 보니 회원 한분이 글쓰기를 시도한 흔적이 있는데 글이 업로드되지는 않았습니다.
그리고 php로그를 보니
[26-Mar-2026 08:06:38] WARNING: [pool www] child 424893, script '/var/www/abc.com/index.php' (request: "POST ") execution timed out (76.987891 sec), terminating
[26-Mar-2026 08:06:38] WARNING: [pool www] child 424893 exited on signal 15 (SIGTERM) after 1620.145239 seconds from start
[26-Mar-2026 08:08:18] WARNING: [pool www] child 425067, script '/var/www/abc.com/index.php' (request: "POST ") execution timed out (77.845100 sec), terminating
[26-Mar-2026 08:08:18] WARNING: [pool www] child 425067 exited on signal 15 (SIGTERM) after 919.968179 seconds from start
그 시간 무렵에 이런 오류가 찍혀있네요.
챗gpt 에게 물어보니 뭔가 손상된 파일을 업로드했다가 ffmpeg 가 오류 상태에 빠진 거 같다고 하네요
그러면서 라이믹스에 영상을 인코딩 하는 소스 부분에
if (!\RX_WINDOWS) {
$command = 'timeout -k 5s 60s ' . $command;
}
요런 타임아웃 설정을 일단 넣으라고 하는데
안전할까요?
댓글 1
이미지를 보면
ffmpeg 프로세스 2개가 각각 742%, 678% CPU를 4일 넘게 점유 완전히 무한루프에 빠진 좀비 상태입니다.
ChatGPT 진단이 맞습니다.
손상되거나 특수한 포맷의 파일을 ffmpeg가 처리하다가 종료 조건 없이 루프에 걸린 것입니다.
time 추가 괜찮을것 같긴 한데,....
60초 -> 120초 이상으로 조정을 해보는건 어떨가요?~
서버 재부팅으로 증상은 해결됐지만, 같은 파일이나 비슷한 케이스가 또 오면 재발할 가능성이 클 것 같습니당.
PHP-FPM request_terminate_timeout도 같이 설정해두면 이중 방어가 될 것 같네요!
http://etc/php/*/fpm/pool.d/www.conf 여기서
; ffmpeg 인코딩이 동시에 여러 개 실행되는 것 방지
request_terminate_timeout = 120