[PHP/MySQL] Zombie processen (<defunct>)?

Pagina: 1
Acties:
  • 131 views sinds 30-01-2008
  • Reageer

  • CyberSnooP
  • Registratie: Augustus 2000
  • Laatst online: 08-09 20:35

CyberSnooP

^^^^ schrijft --->

Topicstarter
Ik heb een dedicated AMD 1GHz server met 512 MB RAM. Hij draait RedHat 7.1 i.c.m. Ensim Webppliance 3.0LS.

De server crasht (hangt) ontzettend vaak, waarschijnlijk vanwege geheugen problemen. Na een reboot log ik in om met top te kijken wat er aan de hand is. Ik zie dan dat de hoeveelheid vrij geheugen in rap tempo afneemt tot bijna 0 (laten we zeggen 3 MB) Vervolgens moet de machine zelfs af en toe gaan swappen.

In de processen lijst zie ik regelmatig processen met status Z (Zombie), waarbij achter het command <defunct> staat. Meestal betreft het httpd of mysqld processen. Nu heb ik mij laten vertellen dat die komt door hangende PHP-scripts. Ook schijnt dit de oorzaak te kunnen zijn van het volstromen van het geheugen.

Nu is mijn vraag: Zit ik uit m'n nek te kletsen, of kan dit kloppen? Hoe vind ik uit welke scripts dit veroorzaken? Zijn er manieren hoe ik dit kan voorkomen?
Mijn Linux kennis is maar beperkt
Ik kan niet kiezen tussen NOS, ANS of P&W...

|_____vakje______|


  • MisterData
  • Registratie: September 2001
  • Laatst online: 07-09 20:23
Probeer es iets van exit() onderaan een PHP page te zetten, misschien dat ie dan die pagina wel uit ut geheugen gooit :?

Nou ja, ik heb er ook niet echt verstand van :(

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:14
defunct - processen zijn idd hangende processen. Die kun je killen met het kill commando.

Om ze te voorkomen zal je ervoor moeten zorgen dat uw server niet zo vaak crasht. Waarom crasht hij? Heb je misschien veel programma's lopen die memory leaks enzo hebben?

https://fgheysels.github.io/


  • CyberSnooP
  • Registratie: Augustus 2000
  • Laatst online: 08-09 20:35

CyberSnooP

^^^^ schrijft --->

Topicstarter
Ik probeer dus te achterhalen waarom de server crasht. Ik vermoed dat het komt door een tekort aan geheugen wat op zijn beurt wordt veroorzaakt door die zombie processen.

Er zijn geen log messages te vinden die op iets anders wijzen, maar zoals gezegd, ik ben geen linux expert.

Ik wil dus graag horen of die zombie processen ook daadwerkelijk het geheugen kunnen opvullen en hoe ik er achter kom welke scripts problemen veroozaken.

|_____vakje______|


  • whoami
  • Registratie: December 2000
  • Laatst online: 23:14
Op dinsdag 05 februari 2002 16:06 schreef CyberSnooP het volgende:
Ik probeer dus te achterhalen waarom de server crasht. Ik vermoed dat het komt door een tekort aan geheugen wat op zijn beurt wordt veroorzaakt door die zombie processen.

Er zijn geen log messages te vinden die op iets anders wijzen, maar zoals gezegd, ik ben geen linux expert.

Ik wil dus graag horen of die zombie processen ook daadwerkelijk het geheugen kunnen opvullen en hoe ik er achter kom welke scripts problemen veroozaken.
Ik denk niet dat die <defunct> processen geheugen vreten. Dat zijn gewoon hangende processen die niet correct afgesloten zijn door het crashen van uw server.
Die server kan dan weer crashen door programma's die je lopen hebt die veel geheugen alloceren en het dan niet meer vrijgeven (memory leak). Misschien moet je maar eerst eens uw php scripts enzo nakijken. Misschien alloceer je daar objecten en geef je ze niet meer vrij ofzo...

https://fgheysels.github.io/


  • CyberSnooP
  • Registratie: Augustus 2000
  • Laatst online: 08-09 20:35

CyberSnooP

^^^^ schrijft --->

Topicstarter
Ik heb de diverse PHP scripts nadrukelijke nagekeken, maar niks vreemds kunnen vinden. Ik sluit alle MySQL verbindingen expliciet af voordat ik het template object aanroep, dus zo vroeg mogelijk.

Met het crashen van de server bedoel ik de gehele computer. Ik snap dus niet helemaal hoe een process gevolgen kan ondervinden van een crash nadat de server is gereboot.

Algemeen is de vraag hoe ik dus memory leaks kan vinden. Misschien kan een moderator dit verplaatsen naar ANS of NOS naar eigen inzicht.

Laat dat "u" maar achterwegen hoor, klinkt zo eng :)

|_____vakje______|


  • Rense Klinkenberg
  • Registratie: November 2000
  • Laatst online: 23:45
Welke versie van MySQL en php gebruik je? Daar zaten nl. ook wel eens versies tussen met memory leaks.

  • CyberSnooP
  • Registratie: Augustus 2000
  • Laatst online: 08-09 20:35

CyberSnooP

^^^^ schrijft --->

Topicstarter
Apache/1.3.19 (Unix) (Red-Hat/Linux) mod_perl/1.24_01 PHP/4.0.6 FrontPage/5.0.2 mod_ssl/2.8.5 OpenSSL/0.9.6

Hier vind je meer informatie over de server.

|_____vakje______|


  • Orphix
  • Registratie: Februari 2000
  • Niet online
Op dinsdag 05 februari 2002 22:55 schreef CyberSnooP het volgende:
Ik heb de diverse PHP scripts nadrukelijke nagekeken, maar niks vreemds kunnen vinden. Ik sluit alle MySQL verbindingen expliciet af voordat ik het template object aanroep, dus zo vroeg mogelijk.
Tja ik vind het erg knap als je script na het aflopen geheugen achterlaat en dat het dan de schuld is van het script...dit zou voor geen enkele hoster acceptabel zijn.
Ik heb ook een paar keer gehad dat php vastliep, dit was in combinatie met XSL in ietsje oudere php versies. Altijd upgraden naar het nieuwste is een optie, anders misschien downgraden?
Laat dat "u" maar achterwegen hoor, klinkt zo eng :)
whoami is een belg, moet je 'm niet kwalijk nemen ;)

  • Rense Klinkenberg
  • Registratie: November 2000
  • Laatst online: 23:45
Het moet met php ook mogelijk om te kunnen debuggen. Zend heeft daar wel wat tootljes voor.
Pagina: 1