Zum Inhalt springen
View in the app

A better way to browse. Learn more.

#T/N/X/T

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

MT4: Memory Problem

Geschrieben

Was ist das für ein Problem:

 

bei MT4, wenn man einige EAs läd oder auch nur einen komplexen, kommen manchmal, und manchmal häufig, Fehler mit dem sinngemäßen Inhalt:

Memory Handler: not enough memory, ...bytes...bla bla error.

 

System: Vista x64 Ultimate

8 GB RAM

Quadcore

 

Der Fehler tritt auch beim VPS auf, Server 2003.

 

 

Manchmal stürzt dann alles ab :wub:

 

 

Woran liegt das, wie kann ich das vermeiden?

Google hilft mir nicht wirklich dazu :wub:

Featured Replies

Geschrieben

Nehmen wir mal an es ist kein Bug von MT...

 

Ist es reproduzierbar? Welche Programme laufen nebenbei?

Was meinst du mit "komplexer" EA? Bedeutet komplex bei dir das er 8 Gig vollschaufelt? ;)

Wie siehts mit deiner Auslagerungsdatei aus? Windows ist teils so lustig, das er gar nicht versucht den RAM zu nehmen sondern einfach gleich alles in die Auslagerung packt und dann weint wenns nit geht...

Geschrieben
  • Autor

Ja, er ist reproduzierbar. Ich muss nur genug EAs reinpacken :wub: Ne im ernst, ab 4 oder so, je nach EA.

 

Arbeitsspeicherverwaltung ist auf automatisch.

Und Momoryauslastung im Taskmanager geht bei den Fällen nicht über 2,5 GB, also da ist Platz nach oben.

Mh.

Geschrieben
Ja, er ist reproduzierbar. Ich muss nur genug EAs reinpacken :wub: Ne im ernst, ab 4 oder so, je nach EA.

 

Arbeitsspeicherverwaltung ist auf automatisch.

Und Momoryauslastung im Taskmanager geht bei den Fällen nicht über 2,5 GB, also da ist Platz nach oben.

 

Das ist aber der Auslagerungsspeicher... hast da mehr als 2 Gig reserviert?

Geschrieben
  • Autor

so, hier mal ein fehlercode aus dem journal:

 

2009.04.07 22:08:19 Memory handler: cannot allocate 149663404 bytes of memory

2009.04.07 22:08:19 HistoryBase: not enough memory 'EURGBP1' [3401185 bars]

 

und das geht wenns einmal anfängt ewig so weiter, schnell hintereinander.

 

sowohl in vista ultimate 64, vista home 32 und server 2003

 

also auf XP steig ich jetzt nicht um...

Geschrieben
  • Autor

...update...

 

So, gestern habe ich mir mal die Auslagerungsdatei vorgeknöpft.

Eingestellt war automatische Zuteilung, ich habe es geändert auf manuelle, feste 8000-nochwas MB. Heute morgen waren meine Journaleinträge fehlerfrei. Vielleicht ist das Problem jetzt damit behoben.

:wub:

Geschrieben

Interessant, danke das Du uns an der Problemlösung teilhaben lässt.

 

Mir wäre jetzt nur noch eingefallen, einen Prozessmonitor mitlaufen zu lassen, der die Einzelprozesse nochmals in ihre Bestandteile zerlegt.

 

process_explorer.png

 

 

Systemexplorer ist manchmal auch ganz hilfreich, um Bottlenecks aufzuspüren.

Geschrieben
...update...

 

So, gestern habe ich mir mal die Auslagerungsdatei vorgeknöpft.

Eingestellt war automatische Zuteilung, ich habe es geändert auf manuelle, feste 8000-nochwas MB. Heute morgen waren meine Journaleinträge fehlerfrei. Vielleicht ist das Problem jetzt damit behoben.

:wub:

Drück Dir die Daumen. So Sch... ist Windows gar nicht. Gibt (noch) Schlimmeres : ich erinnere mich mit Grausen an Mü-Linux (auf Diskette!) und Webserver mit Friss-Oder-Stirb-Perl 5 (kein Redirect-Befehl), die ich auf nem 16MB :wub: -Oldie-Rechner zum Laufen bringen durfte. Dagegen ist jedes Windows-System ein Traum.

 

Da lernt man, bescheiden, genügsam und dankbar zu sein, für alles, was man bekommt :wub:.

Geschrieben
Mir wäre jetzt nur noch eingefallen, einen Prozessmonitor mitlaufen zu lassen, der die Einzelprozesse nochmals in ihre Bestandteile zerlegt.

 

Systemexplorer ist manchmal auch ganz hilfreich, um Bottlenecks aufzuspüren.

Oder direkt bei Microsoft runterladen http://technet.microsoft.com/de-de/sysinte...s/bb896653.aspx .

 

 

Das Tool kann ich nur empfehlen. :wub:

  • 8 Monate später...
  • 2 Wochen später...
Geschrieben

Halleluja!

Ich hab gedacht ich wäre der Einzige mit dem Problem!

 

Das ist ein böser Bug im MT. Ich hab den Fehler mittlerweile einkreist und einen Workaround gefunden.

Ich stolpere hin und wieder darüber, dass sich ein EA mit RAM voll saugt und dann das Terminal abstürzt. Das kann man aber problemlos im Backtest nachstellen, man muss nicht auf den Livetest warten (wenn wir über den gleichen Fehler sprechen)! ;)

 

Ich erklär jetzt kurz den Fehler und meinen Workaround. Allerdings nützt dir das nichts, wenn es sich um gekaufte EAs handelt.

Das Problem ist folgendes: im EA ist eine Function enthalten, die sich am unteren Ende der mq4-Datei befindet. Diese Function muss gar nicht mal jemals aufgerufen werden, es reicht, wenn sie vom Compiler erfasst wird, also kompiliert wird. Egal wie diese Function aussieht, das Ergebnis ist, dass sich der EA mit ram vollsaugt. Man kann das im Backtest schön beobachten, wenn man parallel den taskmgr öffnet. Nach 1-2 Jahren Backtest stürzt mein Terminal ab.

 

Wenn ich dann hingehe und exakt diese Function - ohne jegliche Anpassung - in eine Lib schiebe, verhält sich der EA ganz normal und die Speicherauslastung ist auch nach 10 Jahren Backtest immer eine konstante Linie.

Hört sich das nach deinem Fehler an?

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

Account

Navigation

Suche

Suche

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.