Discussion:
Out of memory
(zu alt für eine Antwort)
Stefan+ (Stefan Froehlich)
2024-02-13 08:19:41 UTC
Permalink
Ich habe da einmal ein Stück Software installiert, in einem
Unternehmen. Das läuft dort seit über 10 Jahren auf einer virtuellen
Windows-Maschine (weitgehend fehlerfrei, ausgenommen ein paar
Probleme nach Windows-Updates).

Gestern schickt mir jemand einen Screenshot, ein Benutzer würde
Fehler bekomme und zwar:

"Out of memory (allocated 4194304) (tried to allocate 8192 bytes)"

So weit, so schlecht. Der Benutzer macht nichts anderes als auch er
(und alle anderen) in den Jahren davor, und vor allem: memory_limit
ist in der php.ini auf 6GB gesetzt, die virtuelle Maschine auch mit
entsprechend viel Speicher ausgestattet; ich sehe keinen Grund,
weshalb PHP bereits nach 4MB aufgeben sollte.

Liest hier noch jemand mit, der zusätzlich eine Idee hat, was hier
falsch laufen könnte? Unangenehmerweise darf ich nämlich nicht
remote auf die Maschine zugreifen, und der Kunde ist etwas weiter
weg...

Servus,
Stefan
--
http://kontaktinser.at/ - die kostenlose Kontaktboerse fuer Oesterreich
Offizieller Erstbesucher(TM) von mmeike

Neu? Neuer als Stefan!? Da muß die Konkurrenz aber noch früher aufstehen!
(Sloganizer)
Tim Ritberg
2024-02-13 09:24:24 UTC
Permalink
Post by Stefan+ (Stefan Froehlich)
Ich habe da einmal ein Stück Software installiert, in einem
Unternehmen. Das läuft dort seit über 10 Jahren auf einer virtuellen
Windows-Maschine (weitgehend fehlerfrei, ausgenommen ein paar
Probleme nach Windows-Updates).
Gestern schickt mir jemand einen Screenshot, ein Benutzer würde
"Out of memory (allocated 4194304) (tried to allocate 8192 bytes)"
So weit, so schlecht. Der Benutzer macht nichts anderes als auch er
(und alle anderen) in den Jahren davor, und vor allem: memory_limit
ist in der php.ini auf 6GB gesetzt, die virtuelle Maschine auch mit
entsprechend viel Speicher ausgestattet; ich sehe keinen Grund,
weshalb PHP bereits nach 4MB aufgeben sollte.
Liest hier noch jemand mit, der zusätzlich eine Idee hat, was hier
falsch laufen könnte? Unangenehmerweise darf ich nämlich nicht
remote auf die Maschine zugreifen, und der Kunde ist etwas weiter
weg...
Ist das überhaupt ein 64bit PHP, welches?

Das Speicherlimit ist selten das Problem, eher fehlerhafte Schleifen.

Tim
Stefan+ (Stefan Froehlich)
2024-02-13 11:11:42 UTC
Permalink
Post by Tim Ritberg
Post by Stefan+ (Stefan Froehlich)
"Out of memory (allocated 4194304) (tried to allocate 8192 bytes)"
So weit, so schlecht. Der Benutzer macht nichts anderes als auch
memory_limit ist in der php.ini auf 6GB gesetzt, die virtuelle
Maschine auch mit entsprechend viel Speicher ausgestattet; ich
sehe keinen Grund, weshalb PHP bereits nach 4MB aufgeben sollte.
Liest hier noch jemand mit, der zusätzlich eine Idee hat, was
hier falsch laufen könnte? Unangenehmerweise darf ich nämlich
nicht remote auf die Maschine zugreifen, und der Kunde ist etwas
weiter weg...
Ist das überhaupt ein 64bit PHP, welches?
Es sollte sich um PHP 7.1.33-Win32-VC14-x86 handeln, der Webserver
ist ein Apache 2.4.54. Windows weiß ich nicht, das wurde aber 2022
aktualisiert, ist also jedenfalls nicht klinisch tot.
Post by Tim Ritberg
Das Speicherlimit ist selten das Problem, eher fehlerhafte
Schleifen.
Dafür ist die Software einfach zu lange im Einsatz, und der konkrete
Aufruf zu simpel; der Fehler tritt angeblich bei rund 30% aller
Aufrufe auf.

Wenn PHP bereits bei 4*M*B abgeschossen wird, kann das nicht
gutgehen. Aber woher kann diese Grenze kommen? Da wäre ja Windows
3.1 schon besser gewesen.

Servus,
Stefan
--
http://kontaktinser.at/ - die kostenlose Kontaktboerse fuer Oesterreich
Offizieller Erstbesucher(TM) von mmeike

Stefan. Für faule Stänker in weissen Überschwemmungen!
(Sloganizer)
Tim Ritberg
2024-02-13 11:25:36 UTC
Permalink
Post by Stefan+ (Stefan Froehlich)
Es sollte sich um PHP 7.1.33-Win32-VC14-x86 handeln, der Webserver
ist ein Apache 2.4.54. Windows weiß ich nicht, das wurde aber 2022
aktualisiert, ist also jedenfalls nicht klinisch tot.
Dann kannst du keine 6GB zuweisen. Das Maximum liegt bei 2, mit Tricks
bei 3GB.
Post by Stefan+ (Stefan Froehlich)
Wenn PHP bereits bei 4*M*B abgeschossen wird, kann das nicht
gutgehen. Aber woher kann diese Grenze kommen? Da wäre ja Windows
3.1 schon besser gewesen.
Leg eine phpinfo ins Docroot und prüf die Limits.

Tim
Stefan+ (Stefan Froehlich)
2024-02-13 13:32:54 UTC
Permalink
Post by Tim Ritberg
Post by Stefan+ (Stefan Froehlich)
Es sollte sich um PHP 7.1.33-Win32-VC14-x86 handeln, der Webserver
ist ein Apache 2.4.54. Windows weiß ich nicht, das wurde aber 2022
aktualisiert, ist also jedenfalls nicht klinisch tot.
Dann kannst du keine 6GB zuweisen. Das Maximum liegt bei 2, mit
Tricks bei 3GB.
So weit, so klar. Aber woher könnten die 4 MB kommen?
Post by Tim Ritberg
Post by Stefan+ (Stefan Froehlich)
Wenn PHP bereits bei 4*M*B abgeschossen wird, kann das nicht
gutgehen. Aber woher kann diese Grenze kommen? Da wäre ja
Windows 3.1 schon besser gewesen.
Leg eine phpinfo ins Docroot und prüf die Limits.
Dazu muss ich halt extra hinfahren, und ich hätte mir gerne vorher
so viel wie möglich dazu überlegt, da ich von Windows keine Ahnung
(es ist die einzige Installation in 20 Jahren) und ein wenig Sorge
habe, dort ratlos und erst noch wegen erforderlicher Recherche unter
Zeitdruck zu sein.

Servus,
Stefan
--
http://kontaktinser.at/ - die kostenlose Kontaktboerse fuer Oesterreich
Offizieller Erstbesucher(TM) von mmeike

Freiheit ohne Grenzen: Stefan!
(Sloganizer)
Tim Ritberg
2024-02-13 13:55:16 UTC
Permalink
Post by Stefan+ (Stefan Froehlich)
Post by Tim Ritberg
Leg eine phpinfo ins Docroot und prüf die Limits.
Dazu muss ich halt extra hinfahren, und ich hätte mir gerne vorher
so viel wie möglich dazu überlegt, da ich von Windows keine Ahnung
(es ist die einzige Installation in 20 Jahren) und ein wenig Sorge
habe, dort ratlos und erst noch wegen erforderlicher Recherche unter
Zeitdruck zu sein.
Ahja, keine Daten - keine Diagnose.
It's dead Jim!

Kein Remotezugang?

Tim
Stefan+ (Stefan Froehlich)
2024-02-13 17:01:52 UTC
Permalink
Post by Tim Ritberg
Post by Stefan+ (Stefan Froehlich)
Post by Tim Ritberg
Leg eine phpinfo ins Docroot und prüf die Limits.
Dazu muss ich halt extra hinfahren, und ich hätte mir gerne vorher
so viel wie möglich dazu überlegt, da ich von Windows keine Ahnung
(es ist die einzige Installation in 20 Jahren) und ein wenig Sorge
habe, dort ratlos und erst noch wegen erforderlicher Recherche unter
Zeitdruck zu sein.
Ahja, keine Daten - keine Diagnose.
It's dead Jim!
Hätte ja sein können, dass irgendjemandem etwas ähnliches schon
einmal untergekommen ist.
Post by Tim Ritberg
Kein Remotezugang?
Nein, seit ca. 10 Jahren per Policy untersagt, inzwischen sogar für
die eigenen Mitarbeiter.

Servus,
Stefan
--
http://kontaktinser.at/ - die kostenlose Kontaktboerse fuer Oesterreich
Offizieller Erstbesucher(TM) von mmeike

Stark und zufrieden. Mit Stefan. Ein unerhörtes Vergnügen!
(Sloganizer)
Arno Welzel
2024-02-17 10:51:47 UTC
Permalink
Post by Stefan+ (Stefan Froehlich)
Ich habe da einmal ein Stück Software installiert, in einem
Unternehmen. Das läuft dort seit über 10 Jahren auf einer virtuellen
Windows-Maschine (weitgehend fehlerfrei, ausgenommen ein paar
Probleme nach Windows-Updates).
Gestern schickt mir jemand einen Screenshot, ein Benutzer würde
"Out of memory (allocated 4194304) (tried to allocate 8192 bytes)"
So weit, so schlecht. Der Benutzer macht nichts anderes als auch er
(und alle anderen) in den Jahren davor, und vor allem: memory_limit
ist in der php.ini auf 6GB gesetzt, die virtuelle Maschine auch mit
entsprechend viel Speicher ausgestattet; ich sehe keinen Grund,
weshalb PHP bereits nach 4MB aufgeben sollte.
Ohne genauere Analyse mit phpinfo() ist keine Aussage dazu möglich.
Post by Stefan+ (Stefan Froehlich)
Liest hier noch jemand mit, der zusätzlich eine Idee hat, was hier
falsch laufen könnte? Unangenehmerweise darf ich nämlich nicht
remote auf die Maschine zugreifen, und der Kunde ist etwas weiter
weg...
Egal was es ist - ohne Zugriff auf die Maschine ist es nicht lösbar.
--
Arno Welzel
https://arnowelzel.de
Loading...