Lang laufende Apache-Threads identifizieren?
Posted: 2009-08-02 20:01
Moin!
Seit einiger Zeit habe ich mit meinem Server Probleme. Das Hauptproblem ist, dass der Server recht schwachbrünstig ist, insbesondere hat er mit 512 MB RAM wenig Arbeitsspeicher. Damit muss ich offenbar noch einige Monate leben. Immerhin ist es ein echter Rootserver, nichts virtuelles.
Das Problem ist definitiv der Apache, denn eigentlich hat der Server eine sehr geringe Last. Aber ab und zu fährt er sich einfach fest und hat dann eine Serverlast von 40, hervorgerufen daher, dass er durch viele Apache Prozesse sehr viel Swapen muss. Daher habe ich in den letzten Tagen die Anzahl der maximalen Prozesse schrittweise bis auf 15 reduziert (Ubuntu-Default: 150). Dadurch lief der Server zwar durchgehend mit niedriger Last, aber die Apachen fraßen sich trotzdem nach ein paar Tagen fest. Offenbar waren die paar Prozesse mit irgendwelchen langen Aufgaben belegt. Wenn ich den Apachen beendet hatte und neu gestartet habe, lief er wieder wie geschmiert. Ich denke daher, dass ich nicht umhin komme, herauszufinden, was die da genau tun.
Nur wie krieg' ich raus, was er da so lange tut?
Kann ich ihn irgendwie zwingen, etwa nach 10 Minuten einfach jeden Task abzubrechen?
Gruß, iGEL
Seit einiger Zeit habe ich mit meinem Server Probleme. Das Hauptproblem ist, dass der Server recht schwachbrünstig ist, insbesondere hat er mit 512 MB RAM wenig Arbeitsspeicher. Damit muss ich offenbar noch einige Monate leben. Immerhin ist es ein echter Rootserver, nichts virtuelles.
Das Problem ist definitiv der Apache, denn eigentlich hat der Server eine sehr geringe Last. Aber ab und zu fährt er sich einfach fest und hat dann eine Serverlast von 40, hervorgerufen daher, dass er durch viele Apache Prozesse sehr viel Swapen muss. Daher habe ich in den letzten Tagen die Anzahl der maximalen Prozesse schrittweise bis auf 15 reduziert (Ubuntu-Default: 150). Dadurch lief der Server zwar durchgehend mit niedriger Last, aber die Apachen fraßen sich trotzdem nach ein paar Tagen fest. Offenbar waren die paar Prozesse mit irgendwelchen langen Aufgaben belegt. Wenn ich den Apachen beendet hatte und neu gestartet habe, lief er wieder wie geschmiert. Ich denke daher, dass ich nicht umhin komme, herauszufinden, was die da genau tun.
Nur wie krieg' ich raus, was er da so lange tut?
Kann ich ihn irgendwie zwingen, etwa nach 10 Minuten einfach jeden Task abzubrechen?
Gruß, iGEL