Web-Server

ID #1370 Speichermangel: the maximum size the kernel allows is...

Problem:

Gerade bei einem Update eines halbwegs aktuellen openSUSE-Systems aufgetreten:
Apache startet nicht mehr und im <code>error_logcode> steht:

eAccelerator: Could not allocate 67108864 bytes, the maximum size the kernel
allows is 33554432 bytes. Lower the amount of memory request or increase the
limit in /proc/sys/kernel/shmmax.
PHP Warning:  [eAccelerator] Can not create shared memory area in Unknown on
line 0
PHP Fatal error:  Unable to start eAccelerator module in Unknown on line 0 

Dieser Bug betrifft nicht nur SuSE-Systeme sondern nach meinen Nachforschungen auch weitere Linux-Distributionen.

Lösung:

Wie bereits in der Fehlermeldung angegeben reicht der Wert in <code>/proc/sys/kernel/shmmaxcode> nicht um ausreichend SHM-Speicher (ein Shared-Memory-Bereich) zu beanspruchen. Abhilfe schafft hier Spontan folgender Weg:

echo "67108864" > /proc/sys/kernel/shmmax

(Der Wert <code>67108864code> ist der o.g. Fehlermeldung entnommen.)
Nun lässt sich Apache i.d.R. starten.

Nach einem Reboot ist dieser Wert aber wieder verloren. Daher muss er im System fest angemeldet werden:

sysctl -w kernel.shmmax=67108864
#und die neue /etc/sysctl.conf einlesen:
sysctl -p

Letzterer Befehl mit dem Parameter <code>-pcode> dient dazu die Werte aus der <code>sysctl.confcode> neu einzulesen. Dies macht nur Sinn, wenn man die oben genannte <code>echocode>-Anweisung übersprungen hat.

 

sozial Bookmarking
Bookmarken bei YIGG Bookmarken bei Mister-Wong Bookmarken bei Icio Bookmarken bei del.icio.us Bookmarken bei Technorati Bookmarken bei Furl Bookmarken bei Spurl Bookmarken bei Yahoo Bookmarken bei Google

huschi, zuletzt 2009-09-30 08:42     Artikel ausdrucken Artikel weiterempfehlen Als PDF-Datei anzeigen

Dieser Inhalt ist unter der Creative-Commons Lizenz lizensiert.

Probleme bitte im Server-Support-Forum diskutieren.

überflüssig 1 2 3 4 5 wertvoll  
Durchschnittliche Bewertung:   0 von 5 (0 Bewertungen)

Artikel kommentieren