Nach Installation des Plugin Server IP & Memory Usage Display bekomme ich folgende Werte angezeigt: Memory: 48.25 of 128 MB (38%) | WP LIMIT: 40 MB. Wieso verwendet WordPress 48MB, wenn das WP Limit nur 40 MB beträgt? Was hat es mit den Konstanten
WP_MEMORY_LIMIT
undWP_MAX_MEMORY_LIMIT
auf sich?
Beim so genannten Shared Webhosting (dt. „gemeinsam genutztes Hosting“) werden die Resourcen eines Rechners auf möglichst viele Kunden verteilt. Je weniger Hauptspeicher Kunden in Anspruch nehmen, um so mehr Kunden kann der Server bewirtschaften. Andererseits brauchen Webanwendungen je nach Komplexität der Aufgaben mehr Kapazitäten, um dynamisch eine Website zu erstellen. Der Webhoster wird in der Ausgangskonfiguration den Arbeitsspeicher niedrig ansetzen. Da viele Kunden wenig Ahnnung haben und nicht wissen, ob oder wann sie den Wert ändern müssen, können so trotz vollmundigen Werbeversprechen („512 MB Arbeitsspeicher verfügbar!“) mehr Kunden auf dem Server platziert werden.
Die Kunden haben verschiedenen Möglichkeiten, den angebotenen Arbeitsspeicher ausnutzen zu können. Manche Webhoster bieten eine Einstellung im Kundenmenü, andere erlauben individuelle Einstellungen über eine eigene `php.ini` und WordPress nutzt die PHP-Funktion ini_set()
zum Überschreiben der Einstellungen in der Konfigurationsdatei `php.ini`, um die Konstante zu setzen: @ini_set( 'memory_limit', WP_MEMORY_LIMIT );
. <Das vorangestellte "@" unterdrückt Fehlermeldungen, z.B. wenn der Server solche Vorgaben nicht akzeptiert. Der Konstante WP_MEMORY_LIMIT
als Vorgaben 40 MB zugewiesen werden (Multisite 60MB). Der Wert WP_MAX_MEMORY_LIMIT
gilt als Obergrenze für aufwendigere, administrative Aufgaben im Backend.
Ob diese beiden Vorgaben aber überhaupt berücksichtigt werden, hängt aber im Wesentlichen davon ab, ob der Webhoster solche Änderungen erlaubt und die zugewiesene Obergrenze für den Arbeitsspeicher eingehalten wird.
Aktuell werden dir 128MB Arbeitsspeicher eingeräumt und davon rund 48MB genutzt – du kannst also parallel noch andere Anwendungen wie phpMyAdmin und PIWIK nutzen. Der Wert 40MB wird im Grunde ignoriert.