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