Posibil sa te incurc, dar in mod_php, scriptul aloca memorie si nu prea o
mai dezaloca pentru ca zend engine (adica ala care interpreteaza scripul
php) are un manager de memorie intern si o alocare de memorie din script nu
se traduce in malloc direct, ci intr-un zend_malloc, care decide el cum e
mai bine sa aloce memoria si are grija sa o refoloseasca cand poate. Exista
o limita de memorie, si in general se descurca bine la management, dar am
vazut si rateuri, in principiu din cauza interactiunii cu librarii externe
(libXml sau pcre)
Am in momentul asta in productie niste procese apache care nu inteleg de ce
ajung sa aloce 1Gb de ram in timp.. solutia a fost sa setez ceva gen
max_requests_per_child (e vb de apache & mod_php aici). Deci solutia e tot
ceva asemanator cu ce faci si tu:)


2015-06-16 8:50 GMT+03:00 petrescs <petrescs+r...@gmail.com>:

> > 2. esti sigur ca pe ambele vps-uri se ruleaza acelasi lucru ? ca in
> > functie de ce php se ruleaza si ce date prelucreaza acel script memoria
> > alocata variaza
> >
> > Din analiza log-urilor rezulta ca una din aplicatii se executa mai
> frecvent pe o masina decat pe cealalta. Motivul pentru care toate procesele
> php-fpm ocupau fiecare aceeasi memorie mem1 pe o masina vs. mem2
> (mem1>mem2) pe alta masina *se pare* (TM) ca are legatura cu faptul ca
> procesele php-fpm care raman idle pastreaza alocata memoria mem1 chiar daca
> dupa aceea primesc cereri de la cealalta aplicatie care cere memorie mem2
> mai putina.
>
> De aici:
> http://serverfault.com/questions/376242/how-to-free-php-fpm-memory
> "Normally, at the end of a PHP script, the memory consumed by PHP will be
> automatically freed. In PHP-FPM, this memory sometimes (I don't know when)
> will not be freed.[...]In other words, footprints of some PHP previous
> processes remain on the PHP-FPM children."
>
> Daca are cineva dovezi privind afirmatia de mai sus, as evita sa mai
> deschid un bug report catre aplicatie (nu exclud un memory leak).
>
> Bref, s-a rezolvat oarecum prin setarea pm.max_requests la o valoare mai
> mica - aplicatia nu avea multe cereri, deci se ajungea rar la child respawn
> iar in timp toate ajungeau la memorie alocata = max(memoria ceruta de orice
> aplicatie). Pe cealalta masina nu aveam decat aplicatia "light" si o
> versiune mai veche a celeilalte care nu avea cerinte mari de memorie, deci
> acolo nu era observabil fenomenul.
>
> Silviu
> _______________________________________________
> RLUG mailing list
> RLUG@lists.lug.ro
> http://lists.lug.ro/mailman/listinfo/rlug
>



-- 
--------------------------------------------
----THE END of this transmission----
_______________________________________________
RLUG mailing list
RLUG@lists.lug.ro
http://lists.lug.ro/mailman/listinfo/rlug

Raspunde prin e-mail lui