Ich glaube endlich die Ursache dafür gefunden zu haben, warum mein Server in letzter Zeit so unglaublich instabil läuft und sich der Apache ständig und regelmäßig mit solchen Logeinträgen verabschiedet hat:
CODE:
[Sun May 11 16:25:25 2008] [error] (12)Cannot allocate memory: fork: Unable to fork new process<br />
[Sun May 11 16:25:35 2008] [error] (12)Cannot allocate memory: fork: Unable to fork new process<br />
[Sun May 11 16:25:45 2008] [error] (12)Cannot allocate memory: fork: Unable to fork new process<br />
[Sun May 11 16:25:45 2008] [emerg] (12)Cannot allocate memory: couldn't grab the accept mutex<br />
[Sun May 11 16:25:55 2008] [error] (12)Cannot allocate memory: fork: Unable to fork new process<br />
[Sun May 11 16:26:05 2008] [error] (12)Cannot allocate memory: fork: Unable to fork new process<br />
[Sun May 11 16:26:15 2008] [error] (12)Cannot allocate memory: fork: Unable to fork new process<br />
[Sun May 11 16:26:25 2008] [notice] child pid 32467 exit signal Segmentation fault (11)<br />
[Sun May 11 16:26:25 2008] [alert] Child 32611 returned a Fatal error... Apache is exiting!<br />
[Sun May 11 16:26:25 2008] [emerg] (43)Identifier removed: couldn't grab the accept mutex
Beim Reboot kamen dann immer solche Meldungen:
Found stale pidfile (unclean shutdown?)
Diese ließen natürlich darauf schließen, dass der Apache unfreiwillig beendet wurde. Das pidfile ist einfach eine Datei, welche die IDs der Apache Prozesse verwaltet und normalerweise bei einem ordnungsgemäßem Abschalten des Apache gelöscht werden sollten.
Im Error Log fanden sich entsprechend obige Einträge. Die Abstürze wurden offensichtlich dadurch verursacht, dass dem Apache der Speicher ausging, keine Kindprozesse mehr anlegen konnte und dadurch den Elternprozess abgeschossen hat.
Durch den folgenden Eintrag beim Neustarten des Apache bin ich dann aber etwas stutzig geworden:
CODE:
[Mon May 19 15:28:10 2008] [notice] mod_python: Creating 32 session mutexes based on 50 max processes and 0 max threads.
Meine Vermutung war, dass mit mod_python etwas nicht stimmt. Nachdem ich den nun herausgeschmissen habe (wird ohnehin nicht gebraucht), läuft plötzlich wieder alles und bisher (nach 2 Stunden) sieht es mal gut aus, dass das Problem damit behoben wurde.
Eine kleine Recherche im Netz hat übrigens ergeben, dass das Apache Python Modul wohl in einigen Versionen einen Speicherleak hat, was zu diesen Problemen führen kann. Seit dem das nun fehlt, hat der Apache plötzlich auch wieder 200MB mehr Luft im Speicher..
Nichts desto trotz, eine Neuinstallation braucht der Server trotzdem, damit ich mich endlich von diesem nervigen OpenSUSE verabschieden kann. Allerdings scheint die Neuinstallation nun erstmal noch nicht so dringend, wie bisher. So kann ich mich erstmal voll auf Katrins und meinen Umzug nach Karlsruhe konzentieren.