Sunt conștient de metoda de a obține memoria medie utilizată de fiecare proces apache2 folosind ps. L-am observat și se dovedește a fi în jur de 18MB (deși părea să fi crescut în ultimele 2 zile de la 18MB în medie la 25MB).
Serverul nostru servește un API care acceptă unele date și le stochează într-un db mysql. API-ul este scris în PHP. Am folosit funcțiile PHP mem_get_usage și mem_get_peak_usage pentru a înțelege utilizarea memoriei, dar nu se apropie nicăieri de 18MB.. (în cea mai mare parte se arată sub 1MB)
Deci nu înțeleg ce consumă această memorie uriașă per proces apache. Acest lucru a devenit un blocaj, deoarece RAM-ul nostru total este limitat și cu acest consum suntem forțați să limităm maxrequestworkers, ceea ce aduce întârziere în deservirea clienților atunci când există trafic mare.
Ieșire tipică de la 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
Aveți sugestii despre cum să monitorizați utilizarea memoriei per proces apache2 și cum să o reduceți/optimizați?