Ik zit met volgende probleem:
Een langdurig script wat op onze productie server draait, lekt volgens het top commando geheugen. Na verloop van tijd is volgens top ruim 90% van het geheugen in gebruik en wordt de server ook extreem traag. Ik heb in het script zelf al een ini_set("memory_limit", "128M"); opgenomen en in php.ini staat deze waarde op 16M. Het script blijft vrolijk doordraaien, terwijl hij er dus wegens een gebrek aan geheugen (server bevat 8 GB geheugen) er uit zou moeten klappen. De waarden van memory_get_peak_usage() blijven na een paar minuten draaien (script is twee uur bezig) constant, en ver onder het gebruik wat top aangeeft. Op een ubuntu 10.10 VM blijft het gebruik volgens top ook constant en ook op een ubuntu 10.04.1 x64 blijft het keurig constant. Dit brengt mij tot de conclusie dat het toch echt aan PHP of een van de vele onderliggende libraries moet liggen, nadat ik heel lang heb gezocht en gespit in mijn eigen php code. Het alternatief is dat top kaopt is, maar die kans acht ik erg klein.
Heeft iemand enig idee of er tools zijn om te kijken achterhalen wat er nou precies geheugen loopt te lekken?
De server waarop het fout gaat is een ubuntu 9.10 (niet mijn keuze) x64 instalatie die volledig bijgewerkt is met apt-get update en apt-get upgrade.
Een langdurig script wat op onze productie server draait, lekt volgens het top commando geheugen. Na verloop van tijd is volgens top ruim 90% van het geheugen in gebruik en wordt de server ook extreem traag. Ik heb in het script zelf al een ini_set("memory_limit", "128M"); opgenomen en in php.ini staat deze waarde op 16M. Het script blijft vrolijk doordraaien, terwijl hij er dus wegens een gebrek aan geheugen (server bevat 8 GB geheugen) er uit zou moeten klappen. De waarden van memory_get_peak_usage() blijven na een paar minuten draaien (script is twee uur bezig) constant, en ver onder het gebruik wat top aangeeft. Op een ubuntu 10.10 VM blijft het gebruik volgens top ook constant en ook op een ubuntu 10.04.1 x64 blijft het keurig constant. Dit brengt mij tot de conclusie dat het toch echt aan PHP of een van de vele onderliggende libraries moet liggen, nadat ik heel lang heb gezocht en gespit in mijn eigen php code. Het alternatief is dat top kaopt is, maar die kans acht ik erg klein.
Heeft iemand enig idee of er tools zijn om te kijken achterhalen wat er nou precies geheugen loopt te lekken?
De server waarop het fout gaat is een ubuntu 9.10 (niet mijn keuze) x64 instalatie die volledig bijgewerkt is met apt-get update en apt-get upgrade.