Scheinbar urplötzlich kann es vorkommen, dass eine Fehlermeldung wie diese erscheint:

Fatal error: Allowed memory size of 654321 bytes exhausted (tried to allocate 12345 bytes) in /srv/www/user/bla/blub/file.php on line 123

Die Werte für die Bytes, vorkommende Datei und Codezeile sind dabei beliebig.
Was aber bedeutet diese Fehlermeldung, die direkt vom Server kommt?

Bei PHP gibt es in der Konfiguration einen Wert memory_limit. Dieser Wert definiert den maximal erlaubten Speicherplatzverbrauch (im Arbeitsspeicher) eines PHP-Scripts. Dies soll den Server davor bewahren, dass ein schlecht oder fehlerhaft programmiertes Script den Arbeitsspeicher “auffrisst”.

Erscheint also in deinem Blog die Fehlermeldung, dann will das WordPress (inklusiver seiner Plugins) mehr Speicher für sich reservieren, als ihm zusteht.
Speicherfresser gibt es viele. So kann es sein, dass du in deinem Blog einfach zu viele (speicherhungrige) Plugins laufen hast, deine Galerie gerade zuviele Thumbnails auf einmal erzeugen will (und dazu je erstmal ein großes Bild laden muss) oder eine Anweisung zuviele Beiträge auf einmal verarbeiten will – soll heißen: Es gibt nicht den Übeltäter, den man beseitigen kann.

Durch testweises Abschalten von Plugins kann man jedoch versuchen, besonders speicherhungrige Plugins ausfindig zu machen und sie ggf. durch ein ähnliches Plugin ersetzen oder auf ihren Einsatz verzichten.

Es gibt allerdings Webhoster, bei denen das memory_limit unnötig/ungewöhnlich niedrig gesetzt ist.
Du solltest dich also ruhig mit Verweis auf die bei dir auftretende Fehlermeldung, an deinen Webhoster wenden und fragen, ob es möglich wäre, den Wert des memory limits in der php.ini zu erhöhen.
Im Zweifelsfall bleibt dann nur ein Hosterwechsel übrig.

Bevor du dich allerdings an deinen Hoster wendest, kannst du auch versuchen, den Wert selber zu erhöhen.
Öffne dazu deine wp-config.php und schreibe in den Anfang der Datei (nach <?php) folgenden Code:
@ini_set("memory_limit",'32M');
und speichere die Änderung. Alternativ kannst du auch
define('WP_MEMORY_LIMIT', '32M');
schreiben. Eventuell sollte auch ein höherer Wert wie 40 oder 64 MB probiert werden (soweit vom Hoster unterstützt).

Wir haben übrigens festgestellt dass je nach Hoster bzw. Serverkonfiguration WordPress unterschiedlich viel PHP-Arbeitsspeicher verbraucht. Die Unterschiede scheinen teilweise dramatisch zu sein – bei manchen Benutzern verbraucht ein WordPress 2.8 samt deutscher Sprachdatei und einer Vielzahl von Plugins nicht einmal 20 MB (ein “nacktes” WordPress gerade mal 10 MB) und bei anderen ist schon nach einer WordPress 2.8 Installation mit Sprachdatei und wenigen aktivierten Plugins die Grenze von 32 MB schnell überschritten. Teilweise scheint es auch einzelne Plugins zu geben, die sehr viel Speicher verbrauchen.
Vor allem 64-Bit-Systeme verbrauchen bei identischer Installation deutlich mehr Speicher – In diesem Artikel findest du näheres dazu.

Des weiteren kann man in WP 2.8 den Verbrauch der Sprachdatei durch eine gepachte mo.php verringern.

Solltest du bei STRATO hosten, so dürfte dieser Forenbeitrag interessant für dich sein.