Out of Memory Fehler bei Abfrage


#1

Hallo zusammen,

ich nutze seit einiger Zeit Piwik und bin eigentlich sehr damit zufrieden, allerdings wenn ich bei diversen Abfragen den Zeitraum auf einen Monate oder gar ein Jahr einstelle, bekomme ich folgende oder ähnliche Fehlermeldung:

Fatal error: Out of memory (allocated 29097984) (tried to allocate 32 bytes) in /homepages/10/d28371936/htdocs/piwik/core/DataTable.php on line 969

Ist gibt immer eine Hinweis mit Our of memory und somit funktionieren die Abfragen nicht. Weiß jemand wo das Problem liegt und wie ich es beheben kann?

Danke im Voraus.
Gruss
Kalmuecke


#2

Hallo zusammen,
diese Fehler habe ich auch, insbesondere bei der Autoarchivierung per cronjob, allerdings mit verschiedenen Werten.

Hinweis! Der Server ist generell mit memory_size 128M eingestellt. Local auf der Domain unter der Piwik läuft gar 256M.

Kann jemand helfen?


(Thomas Seifert) #3

Die Archivierung benötig sehr viel Arbeitsspeicher. Je nach Menge der Daten. Wenigstens für php-cli sollte in dem Falle das Speicherlimit noch höher gesetzt werden. Ich kann aktuell nicht sagen, wieviel das Maximum bei mir ist aber sicherheitshalber habe ich das Limit hier auf 2GB hochgesetzt - nochmal, nur für php-cli, damit die Archivierung durchläuft. Das Webinterface benötigt bei cronjob Archivierung nicht mehr so extrem viel Speicher.


#4

[quote=“Thomas Seifert”]
… nur für php-cli, damit die Archivierung durchläuft. Das Webinterface benötigt bei cronjob Archivierung nicht mehr so extrem viel Speicher.[/quote]

Hallo Thomas,

danke für die schnelle Antwort. Allerdings muss ich mal ganz dumm fragen, was habe ich unter “php-cli” zu verstehen?


(Thomas Seifert) #5

Das PHP was auf der Konsole läuft, z.B. für den Cronjob.


#6

Vielen Dank für den Hinweis. Habe das Problem gelöst.

Für alle, die mit diesem Problem noch konfrontiert werden und nicht wissen, wo sie ansetzen sollen:

PHP-CLI (command line interpreter) sollte ab php-Version 4.3 vorhanden und aktiviert sein.
PHP-CLI besitzt eine eigene php.ini (zumindest auf meinem server [hosteurope, dell, plesk 9.3, php 5.2.6])

Diese befindet sich beispielsweise im Verzeichnis /etc/php5/cli

die datei im editor aufrufen und nach “memory_limit” suchen.
Den Wert von 32M auf 128M erhöhen

fertig.


#7

Gilt das nun auch für mein Problem?

Habe meine Website bei 1und1 und habe auf soetwas eigentlich keinen Zugriff!


#8

Hallo Kalmuecke,

ich denke schon, dass dies auch für Dein Problem gilt. Allerdings, so wie ich lese, hast Du wahrscheinlich so eine Art Webpaket bei 1 und 1, also keinen Root-Zugriff.

In diesem Falle empfehle ich Dir, Dich per Mail mit dem Support von 1 und 1 in Verbindung zu setzen und diesen zu Fragen, inwieweit entweder Du die Möglichkeit hast, das memory_limit von php auf 128M sowie das memory_limit von php-cli auf 128M zu erhöhen, oder ob es von Seiten 1 und 1 für Dich erledigt werden könnte.

Bei einem Hostingpaket befürchte ich aber eher, dass gar keine Möglichkeit bestehen wird, diese Einstellungen zu ändern.


(diri) #9

Ich habe eigene Seiten bei 1&1 und betreue dort auch einige Kundenseiten.

Auf einer meiner Domains läuft Piwik und zählt (mehr oder weniger brav) seit ca. 1.5 Jahren diverse eigene und fremde Seiten. Bei mir funktionieren alle Statistiken.

Aus Datenschutzgründen habe ich nun Piwik sowie die Daten eines Kunden auf seine Domain verschoben. Er hat das selbe Paket gebucht wie ich auch (prof, EUR 30,-/Monat). Dort geht die Jahresstatistik wegen Speicherproblemen (out of memory) insbesondere mit gzcompress() nicht.

Aus diesem Grunde habe ich mich mit dem 1&1-Support in Verbindung gesetzt und erfahren, dass es diverse Server gibt, bei denen PHP für “ältere” Bestandskunden auf 32MB limitiert ist. Die Anzeige von phpinfo() ist zumindest bei shared hosting vollkommen uninteressant, beim Problemfall werden 256 MB angezeigt.

Eine Verbesserung könnte lt. Support der Wechsel in einen anderen Vertrag bringen …

cu, diri


#10

Hallo zusammen (vor allem 1und1 User),

also ich habe lange gegoogelt und hier in den Foren gesucht: nirgendwo eine Lösung gefunden, aber dann folgendes mehr zufällig gemacht - ganz einfach - man muss nur drauf kommen:

ich hatte länger keine Updates mehr bei Piwik gemacht und stand bei Memory Problemen jetzt beim Update von 2.3.0 auf 2.11.2 vor dem Memory Überlauf … Fatal error: Out of memory (allocated 29097984) (tried to allocate 32 bytes) in /homepages/10/d28371936/htdocs/piwik/core/DataTable.php on line 123456 blablabla…) - nichts ging mehr.

  1. angebliche Lösung gefunden: php.ini : geht nicht - da Shared Server.
  2. angebliche Lösung gefunden: .htaccess im root läßt 1und1 auch nicht zu
  3. angebliche Lösung gefunden: dort anrufen, vergebene Liebesmühe

Dann nach viel Recherche in den PHP-Einstellungen im Kundenlogin von 1und1 nachgeguckt und siehe da, es war überhaupt KEINE php Version zugewiesen. Zur Auswahl standen heute 5.4 und 5.5 und auch schon 5.6 - Empfohlen wurde 5.5. Die habe ich ausgewählt und auf die Domain anweden lassen: Dauer 30 Sekunden.

Gesagt, getan - Piwik Login aufgerufen und folgende Meldung erschien (nicht mehr der Memory Fehler… Fatal error: Out of memory (allocated 29097984) (tried to allocate 32 bytes) in /homepages/10/d28371936/htdocs/piwik/core/DataTable.php on line 123456 blablabla…)

Die Integritätsprüfung ist fehlgeschlagen und hat Fehler ausgegeben. Dies geschieht häufig durch Fehler
beim Hochladen der Piwik-Dateien. Laden Sie die Piwik-Dateien im BINARY-Modus erneut hoch und
aktualisieren Sie diese Seite, bis keine Fehler mehr vorhanden sind.!!!

Also gesagt, getan: komplettes Update Paket nochmal manuell im Binär Modus auf den Server übertragen weil - Dauer lange 7.000 Dateien zu Fuß auf den Server laden… Halbe Stunde

Seite mit Piwik Login neu laden:
Danach kam dann die Meldung, das die Datenbank upgedated werden müßte und das es lange dauern würde!

Verschiedene Dimensionen müssen aktualisiert werden: Weiter geklickt

halbe Fertigmeldung, erneut verschiedene Dimensionen müssen aktualisiert werden: Weiter geklickt

10 Sekunden später kam die Fertigmeldung

Piwik wurde erfolgreich aktualisiert!

Das wars

Vielleicht hilft es ja dem einen oder anderen weiter