php-fpm 프로세스가 메모리를 해제하지 않는 문제를 해결합니다
php-fpm 프로세스의 총 개수를 줄여 php-fpm의 메모리 사용량을 줄입니다. php-fpm 프로세스를 해제하지 않고 여전히 장기기억 점유 문제가 있는 것으로 확인되었습니다. 해결책은 pm.max_requests 수를 줄이는 것입니다. (추천 학습: 엔트리부터 마스터까지 PHP 프로그래밍)
최대 요청 수 max_requests, 즉 PHP-CGI 프로세스에서 처리한 요청 수가 max_requests에 누적되면 프로세스가 자동으로 다시 시작되어 달성됩니다. 메모리 해제의 목적. 1GB 메모리의 VPS 호스트 설정을 예로 들어 보겠습니다(설정한 값이 사용 가능한 메모리에 도달하지 않으면 계속해서 낮출 수 있습니다).
pm.max_requests = 500
php-fpm 프로세스가 pm.max_requests에서 설정한 값에 도달하면 , 프로세스가 다시 시작되어 메모리가 확보됩니다. 아래 사진은 제가 테스트한 결과입니다. php-fpm 프로세스가 강제 종료되고 메모리가 해제된 것을 볼 수 있습니다.
대용량 메모리와 동시성 및 가용성 요구 사항의 경우 정적 관리 모드 + 가장 큰 pm.max_children을 사용하는 것이 좋습니다. 메모리가 작은 서버라면 동적 모드나 온디맨드 모드를 사용하고 pm.start_servers, pm.max_spare_servers 프로세스 수를 줄이는 것이 좋습니다.
위 내용은 PHP 프로세스가 메모리를 해제하지 않습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!