Apache Fehlermeldung: No space left on device

Wie bereits geschrieben, habe ich seit dem letzten Debian-Update Probleme mit meinem Webserver. Inzwischen läuft fast alles wieder perfekt. Jedoch kommt es immer wieder vor, dass das Neu-Starten von Apache (unter anderem durch monit bei zu starken Ressourcen-Verbrauch) nicht funktioniert. Dabei steht in der error.log die Fehlermeldung:

No space left on device: mod_rewrite: could not create rewrite_log_lock

Der Grund liegt darin, dass Apache zuviele Semaphoren erstellt hat. Dabei handelt es sich um Systemfunktionen, die bei Thread-Programmierung sicherstellen soll, dass Prozesse korrekt aufeinander warten. Diese Semaphoren wurden nicht korrekt entfernt, wodurch der Fehler verursacht wurde. Man kann sich die Semaphoren aber glücklicherweise recht einfach anzeigen lassen:

ipcs -s

Jetzt nur noch nach dem Apache suchen (user www-data) und diese Semaphoren entfernen:

ipcs -s | grep www-data | perl -e 'while () { @a=split(/\s+/); print `ipcrm sem $a[1]`}'

Und jetzt funktioniert das Neustarten auch wesentlich besser.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.