Beste,
Ik heb een dedicated server waar heel wat klanten hun (gescripte) website op draaien. Het is een oud beestje: P4 2.0GHz, 512MB ram, 512MB swap.
Nu draait dit over het algemeen als een zonnetje, de load komt niet over de 0.50, gemiddeld 470MB RAMm in gebruik, en een paar honderd KB aan swap in gebruik.
Echter komt het steeds vaker voor dat de server plotseling compleet overbelast raakt. Als ik soms met SSH ingelogd ben, en met top de load in de gaten houdt, klapt de boel in enkele momenten in elkaar. De swap staat direct 100% vol, de RAM is voor 99% gevuld, load stijgt met 2 punten per seconde, tot ~150, en de server reageert niet meer. Reboot kan alleen plaatsvinden door de stroom eraf te halen.
Nu heb ik natuurlijk niet de scripts van de klanten in de hand, dus ik kan alleen maar globale checks uitvoeren.
- LSOF blijft constant (~27k)
- aantal processen (zowel apache als mysqld) blijft constant
- CPU usage 3% (maar ja, met een volle swap staat de CPU dan ook eindeloos te wachten)
- ping blijft <12ms
- virtueel/shared geheugen per process is ook niet hoger dan normaal, dus hoe die swap gevuld wordt is mij een raadsel
De server vliegt er ongeveer 2x per week uit: op zowel rustige ('s nachts) als drukke momenten (laat in de middag).
Als er een process in een infinite loop terecht zou komen, zou je een load van 1.00 verwachten, geen 150.00! Een infinite loop in een SQL procedure wellicht in een table met MEMORY storage? Wat zijn de andere opties?
Hoe kan ik de oorzaak analyseren?

Likes:


Quote