Plötzlich Probleme mit OPcache und PHP 8.1/8.2

  • v4.109 (web6) und v4.118 (web7)

    9-0.423 (Debian 11, 5.10.0-23-cloud-amd64) und 9-0.444 (Debian 11, 5.10.0-30-cloud-amd64)

    Hallo zusammen,

    seit 2 Tagen habe ich auf zwei Webservern mit unterschiedlichen Versionsständen verschiedene Probleme wenn OPcache in der php.ini aktiviert ist.

    web7

    Code
    Jun 24 13:46:48 web7 FPM-iwonadbg-8.1.99-log: 1719229608.472452 Mon Jun 24 13:46:48 2024 (1): Fatal Error Unable to allocate shared memory segment of 12582912 bytes: mmap: Cannot allocate memory (12)

    Wenn ich in den php.inis (für 8.1 und 8.2) folgendes ändere:

    Code
    ;opcache.memory_consumption=128
    opcache.memory_consumption=9

    funktioniert es wieder - oder eben wenn ich OPcache rausnehme

    Code
    zend_extension=opcache.so
    ;zend_extension=opcache.so


    web6

    In den Logs tauchen keine Fehlermeldungen auf.

    Hier habe ich urplötzlich in allen /service/FPM*

    Wenn ich in den php.inis (8.1 und 8.2) folgendes ändere:

    Code
    zend_extension=opcache.so
    ;zend_extension=opcache.so

    funktioniert es wieder, allerdings sind die prepend.php und der Eintrag in der php.ini immernoch vorhanden.

    Ich bin ziemlich ratlos.

    Hat sonst noch jemand das Problem und/oder eine Idee?

  • Das habe ich schon von 256 auf 512 auf 1024 MB geändert.
    (Jeder der drei Werte sollte reichen um phpinfo() ausführen zu können und das funktioniert schon nicht)

    Der Wert aus der Fehlermeldung

    Code
    Fatal Error Unable to allocate shared memory segment of 12582912 bytes

    ist immer identisch mit dem Wert, der in

    Code
    opcache.memory_consumption=12

    eingestellt ist.

  • Nur um sicher zu gehen, da es aus dem Text nicht hervor geht: Das Speicherlimit wurde im Angebot des/der betroffenen Nutzer geändert? Eine Änderung in der php.ini hat hier keine Wirkung.

  • Wie sieht es denn generell mit der Speicherlast auf dem Server aus? Was zeigen den "top" oder "htop" an.

    Code
    top
    
    MiB Mem :  48288.2 total,   1849.1 free,  12688.8 used,  33750.4 buff/cache
    
    
    
    free -h
                   total        used        free      shared  buff/cache   available
    Mem:            47Gi        12Gi       1.8Gi       458Mi        32Gi        33Gi
    Swap:             0B          0B  
  • Nein,

    wie gesagt tritt der Fehler schon auf, wenn nur phpinfo() ausgeführt werden soll.

    Es kann sein, dass bei 1024MB immer noch nicht ausreichend Speicheradressen zur Verfügung stehen, damit der Prozess überhaupt starten kann. Und wenn ein Prozess gar nicht erst starten kann ist es irrelevant, ob nun ein einfaches phpinfo() oder Wordpress ausgeführt werden soll.