Support » Installation » PHP memory limit exhausted

  • Gelöst yanu23

    (@yanu23)



    Hi,

    ich habe eine WordPress Installation, die den Fehler memory exhausted auswirft.

    Die Installation wird auf einem Server mit 4GB RAM betrieben und der PHP Prozess darf sich davon 512MB ziehen.

    Folgende Troubleshooting Schritte habe ich bereits durchgeführt:
    – Plugins deaktiviert
    – Themes deaktiviert
    – phpinfo() überprüft, 512MB Limit
    – die MEMORY limit Konstante manuell gesetzt
    – top auf dem Server zeigt mir, dass der PHP Prozess nur etwa 11 MB an RAM verbraucht

    Leider hat keiner dieser Schritte geholfen. Woran kann es denn sonst noch liegen?

    Ich bin inzwischen soweit anzunehmen, dass der Fehler nicht beim Limit liegt. Gibt es sonst noch Exceptions die diesen Fehler auswerfen?

    LG
    Yannick

    • Dieses Thema wurde geändert vor 1 Monat, 1 Woche von  yanu23.
Ansicht von 10 Antworten - 1 bis 10 (von insgesamt 10)
  • Wann genau wird der Fehler ausgegeben? Hast du eventuell Grafiken mit riesigen Dateigrößen?

    Das ist was in der debug.log steht.

    [31-Oct-2018 08:37:38 UTC] PHP Fatal error: Allowed memory size of 2097152 bytes exhausted (tried to allocate 65536 bytes) in /opt/bitnami/apps/yanu-net/htdocs/wp-settings.php on line 98

    Die Grafiken sollte ja eigentlich vom Apache ausgeliefert werden und nicht vom PHP Prozess, zumal dieser ja sowieso lauf Performancedaten nicht annährend an sein Limit kommt. Aber auf 512MB würde ich sowieso nicht kommen, auch wenn die Grafiken vom PHP Prozess behandelt werden würden.

    Ich habe nun auch mal einen Loadtest mit jmeter drüber laufen lassen und 50 User die meine Website im Sekundentakt aufrufen simuliert. PHP startet fünf Child Prozesse, wie es auch soll – bleibt aber bei jedem auf etwa 11MB RAM. Die Prozessorlast pro Prozess geht auf 22% hoch. Das Problem lauf log ist aber das Memory.

    Moderator Bego Mario Garde

    (@pixolin)

    Allowed memory size of 2097152 bytes exhausted … hört sich nach deutlich weniger als 512MB an.

    Wir hatten schon öfters Fälle, in denen Webhoster zwar 512MB zugesagt haben, aber tatsächlich erheblich weniger in den Einstellungen des Kundenmenüs als Standardwert vorgegeben war. Prüf das doch bitte mal. Vielleicht helfen auch die Tipps im FAQ-Beitrag weiter.

    Ich kann ausschliessen, dass mein Hoster etwas dafür kann, da ich den Webserver selbst hoste. Global konfiguriert sind 512MB und das kommt auch an, stehen ja auch in der phpinfo() 512MB Limit.

    Gibt es in WordPress noch irgendeinen Schalter? Habe bereits die Konstanten manuell definiert. WordPress will nicht über einige MBs hinaus.

    Moderator Bego Mario Garde

    (@pixolin)

    define( 'WP_MEMORY_LIMIT', '512M' ); hast du schon in der wp-config.php? (M, nicht MB)

    Ja, ist drin. Vor den DEBUG Konstanten.

    Habe es nun mal mit ini_set('memory_limit', '512M'); innerhalb der wp-config.php gemacht. Wenn ich es nicht über die Konstante mache, dann geht es.

    Moderator Bego Mario Garde

    (@pixolin)

    Dann läuft jetzt auch sonst alles?
    Du könntest den Thread dann als „gelöst“ markieren.

    (Obwohl ich mich frage, ob die wp-config.php für diese Art der Konfiguration ideal ist?)

    Ist sie sicher nicht, aber sie wird bei jedem Aufruf von WP geladen und das muss es ja auch. Ich frage mich halt auch, wieso die Konstante (WP_MEMORY_LIMIT) nicht funktioniert – der müsste ja dann das ini_set selbst übernehmen. Das tut er jedoch offenbar nicht.

    Also eigentlich ist es nur ein Workaround und keine wirkliche Lösung – aber ja, es funktioniert alles.

Ansicht von 10 Antworten - 1 bis 10 (von insgesamt 10)