Salut,
Se dau 2 vps oarecum identice ca dotare hw, ambele cu debian 7.8, cu cele
mai recente versiuni nginx+php instalate din dotdeb. Alte lib-uri php
(gd,crypt,mysql samd) instalate similar pe ambele masini. Masinile nu s-au
instalat identic de la zero, au trecut succesiv prin mai multe update-uri
si mici tweak-uri prin fisierele de configurare (de fapt ma astept ca
problema sa fie de la ceva config-uri diferite pe undeva, insa nu le pot
identifica).
Situatie: memoria ocupata de procesele php-fpm difera destul de mult in
cele 2 cazuri:
Masina A:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
4899 www-data 20 0 133m 15m 10m S 0.0 1.5 0:01.38 php5-fpm
Masina B:
9716 www-data 20 0 202m 35m 25m S 0.0 3.5 0:19.78 php5-fpm
Am cautat prin pid-urile alea cu lsof si pmap, pe scurt intr-un final am
identificat faptul ca masina B rezerva undeva o memorie dubla fata de
cealalta masina (linia cu 131072k):
# pmap -x 9716|egrep 'zero|Add'
Address Kbytes RSS Dirty Mode Mapping
abf7f000 4 0 0 rw-s- zero (deleted)
abf80000 4 0 0 rw-s- zero (deleted)
abf81000 4 0 0 rw-s- zero (deleted)
abf82000 4 0 0 rw-s- zero (deleted)
abf83000 4 0 0 rw-s- zero (deleted)
abf84000 4 0 0 rw-s- zero (deleted)
abf9f000 131072 20864 20864 rw-s- zero (deleted)
b3fab000 32768 20 20 rw-s- zero (deleted)
b77cf000 4 0 0 rw-s- zero (deleted)
b77d0000 4 0 0 rw-s- zero (deleted)
b77d1000 4 0 0 rw-s- zero (deleted)
b77d2000 4 4 4 rw-s- zero (deleted)
b77d3000 4 4 4 rw-s- zero (deleted)
Fata de cealalta unde se aloca doar 65536k
# pmap -x 4899|egrep 'zero|Add'
Address Kbytes RSS Dirty Mode Mapping
afe40000 4 0 0 rw-s- zero (deleted)
afe41000 4 0 0 rw-s- zero (deleted)
afe42000 4 0 0 rw-s- zero (deleted)
afe5d000 65536 7340 7340 rw-s- zero (deleted)
b3e69000 32768 0 0 rw-s- zero (deleted)
b76e3000 4 4 4 rw-s- zero (deleted)
b76e4000 4 0 0 rw-s- zero (deleted)
b76e5000 4 0 0 rw-s- zero (deleted)
b76e6000 4 0 0 rw-s- zero (deleted)
b76e7000 4 0 0 rw-s- zero (deleted)
b76e8000 4 4 4 rw-s- zero (deleted)
Alocarile de memorie pentru celelalte lib-uri aferente php sunt oarecum
identice - le-am sortat si le-am comparat la ochi, iar la final am facut si
o verificare de genul:
# pmap -x 4899|grep -v zero|awk '{SUM+=$2} END {print SUM}'
38400
respectiv
# pmap -x 9716|grep -v zero|awk '{SUM+=$2} END {print SUM}'
43620
Deci diferenta majora pare ca provine din acea alocare de 128M, dublu fata
de cealalta masina (diferenta existenta pentru fiecare proces php-fpm
lansat, mai sus am luat cate unul la intamplare de pe fiecare masina).
Intrebare: unde sa mai caut/verific de unde ar proveni aceasta diferenta?
Exista ceva tool care imi arata de cine este alocata memoria respectiva?
Nu ma pot juca deocamdata sa copiez toate .config-urile de pe o masina pe
alta, insa la o privire rapida prin ele (prin /etc/nginx/* si
/etc/php5/fpm/*) arata oarecum identic (dimensiuni buffere, max_children,
start_servers, etc)
Sau e posibil sa provina din vreo setare sistem (sysctl)? Unde sa ma mai
uit?
Multumesc,
Silviu
_______________________________________________
RLUG mailing list
[email protected]
http://lists.lug.ro/mailman/listinfo/rlug