각 Apache 프로세스에서 사용하는 메모리를 이해하고 최적화하는 방법

각 Apache 프로세스에서 사용하는 메모리를 이해하고 최적화하는 방법

ps를 사용하여 각 apache2 프로세스에서 사용하는 평균 메모리를 얻는 방법을 알고 있습니다. 관찰해 보니 약 18MB로 나오고 있습니다(지난 이틀 동안 평균 18MB에서 25MB로 급증한 것 같았지만).

우리 서버는 일부 데이터를 받아 mysql db에 저장하는 API를 제공하고 있습니다. API는 PHP로 작성되었습니다. 메모리 사용량을 이해하기 위해 PHP mem_get_usage 및 mem_get_peak_usage 함수를 사용했지만 18MB에 가깝지 않습니다. (대부분 1MB 미만으로 표시됩니다)

그래서 나는 아파치 프로세스당 이 엄청난 메모리를 소비하는 것이 무엇인지 이해하지 못합니다. 총 RAM이 제한되어 병목 현상이 발생하고 이러한 소비로 인해 maxrequestworkers를 제한해야 하므로 트래픽이 많을 때 클라이언트 서비스에 지연이 발생합니다.

ps의 일반적인 출력:

www-data 30024  0.0  0.3 494384 26124 ?        S    04:27   0:03 /usr/sbin/apache2 -k start
www-data 30077  0.0  0.3 494368 26136 ?        S    04:28   0:04 /usr/sbin/apache2 -k start
www-data 30078  0.4  0.3 494360 25960 ?        S    04:28   0:21 /usr/sbin/apache2 -k start
www-data 30080  0.1  0.3 494376 26140 ?        S    04:28   0:05 /usr/sbin/apache2 -k start
www-data 30115  0.2  0.3 494448 26180 ?        S    04:28   0:11 /usr/sbin/apache2 -k start
www-data 30124  0.1  0.3 494376 26212 ?        S    04:28   0:07 /usr/sbin/apache2 -k start
www-data 30132  0.0  0.3 494376 26108 ?        S    04:28   0:03 /usr/sbin/apache2 -k start
www-data 30135  0.0  0.3 494376 26164 ?        S    04:28   0:04 /usr/sbin/apache2 -k start
www-data 30219  0.0  0.3 494352 26108 ?        S    04:29   0:03 /usr/sbin/apache2 -k start

apache2 프로세스당 메모리 사용량을 모니터링하는 방법과 이를 줄이거나 최적화하는 방법에 대한 제안 사항이 있습니까?

관련 정보