PDA

View Full Version : Regelmäßig Crash to Desktop bei low virtual memory



Silberwoelfin13
04-14-2019, 10:00 AM
Beim Spielen des Multiplayer hatte ich gestern mehrere Abstürze zurück zum Desktop ohne Anzeige einer Fehlermeldung. Nach dem initialen Absturz stürzte das Spiel direkt nach Laden des Spielstandes anschließend wieder ab - nur durch zwischenzeitliches Neustarten meines Rechners konnte weitergespielt werden - für jeweils etwas über zwei Stunden, dann wieder Absturz.

Windows zeigt im Event Log jeweils passend zu den Abstürzen folgenden Eintrag mit der Quelle "Resource-Exhaustion-Detector": "Windows successfully diagnosed a low virtual memory condition. The following programs consumed the most virtual memory: Anno1800.exe (12748) consumed 13615075328 bytes, MsMpEng.exe (3412) consumed 200335360 bytes, and upc.exe (7956) consumed 159092736 bytes."

Mein Rechner:
Intel Core i5-3470 (3,20 GHz)
16 GB RAM
nVidia GeForce GTX 1080 (Treiberversion 417.71, aktueller laut GeForce Experience)
Hauptfestplatte (mit Spielinstallation) ist SSD
"Virtual memory paging file size for all drives" ist auf 200 MB gesetzt
Windows 10

IJG78_Orbiter
04-14-2019, 10:11 AM
probiers mal mit 425.31 vom 11.4. das ist der neuste. Viel Glück

shop6D3FF5E01
04-14-2019, 10:13 AM
mit 128 gb ram um 12 core selbe problem .. !
meist haengt das spiel auch wenn auto save auf 60 min gestellt ist und braucht 10 min (frosted desktop) um wieder au reagieren :-(

nowk86
04-14-2019, 10:40 AM
Die Fehlermeldung ist doch recht klar. Anno, das Betriebssystem und die restlichen im Hintergrund laufenden Prozesse haben mehr Speicher angefordert, also physisch vorhanden ist. Da Du die Au****erungsdatei auf 200 MB limitiert hast, ist dann eben hart Schluss.

Stell die Au****erungsdatei auf mindestens 8 GB, besser 16 GB oder lasse sie automatisch von Windows verwalten. Ohne Au****erungsdatei kannst Du nicht den vollen RAM für das Spiel nutzen.

Das liegt zum einen daran, dass das Betriebssystem und andere Prozesse auch Speicher brauchen. Außerdem reservieren viele Prozesse Speicher, den sie nie benutzen. Wenn Windows keine Au****erungsdatei hat, kann es diesen Speicher nicht an andere Prozesse vergeben, denn der ursprüngliche Prozess könnte ihn ja doch irgendwann brauchen. Die Au****erungsdatei ist daher selbst dann nützlich, wenn nie etwas auf die Festplatte geschrieben wird, sondern Windows nur weiß, dass sie für den Fall der Fälle da ist.

Achtarm124
04-14-2019, 11:03 AM
Toll, das das deutsche Wort des Pagefiles in der Blackliste ist - omg. Ist zuwenig da, dann kommt es zu game over.
Manche Games benötigen z.B. zwingend den Pagefile - Beispiel das alte S4, lief in meiner W10- Sonderedition ohne Pagefile mit 32 Gb RAM erst als ich lütte 4 Gb in einer extra dafür angelegten Partition hatte. Während S4 in der HE auch ohne auskommt.

Silberwoelfin13
04-14-2019, 03:17 PM
Das Ändern auf ein von Windows verwaltetes Pagefile hat tatsächlich geholfen - wobei Windows knapp 3 GB erstmal für ausreichend hält - danke. DAmit konnte ich jetzt 4 Stunden ohne Unterbrechung durchspielen :-)

Mir ist dann nur unklar, wie das Spiel bei jemandem mit nur 8GB RAM laufen soll... sowohl 8 GB RAM plus 8 GB Pagefile als auch 16 GB RAM plus 0 GB Pagefile ergeben ja 16 GB virtuellen Speicher - und mit letzterem scheint es ja nach ca. 2 Stunden Spielzeit abzustürzen...

nowk86
04-14-2019, 03:49 PM
Da hast du prinzipiell Recht. Genau wissen das nur die Entwickler.

Könnte mir vorstellen, dass das Spiel abfrägt, wie viel physischer RAM vorhandenen ist und davon abhängig unterschiedlich viel belegt. Es ist für den Entwickler oft ein Tradeoff, ob man bestimmte Daten im RAM hält oder sie jedes Mal neu berechnet, wenn sie gebraucht werden. Entweder braucht man mehr Speicher oder mehr CPU-Leistung.

Als Entwickler geht man davon aus, dass einem der virtuelle Speicher nicht ausgeht. Es ist nämlich unglaublich komplex, den Fall korrekt abzufangen, dass man Speicher vom Betriebsssystem anfordert, aber nicht bekommt. Einer von vielen Gründen, warum man virtuellen Speicher hat.

Einerseits erwartet man als Spieler, dass das Spiel den vorhandenen RAM benutzt, wenn es der Performance dient, andererseits darf es natürlich nicht abstürzen, wenn das gesamte Commit-Limit des Systems überschritten wird. Das geht nur, wenn man Windows das Aus-lagern erlaubt.

Möglicherweise hat das Spiel auch Memory-Leaks, d.h. es fordert im Laufe der Zeit immer wieder Speicher an, vergisst aber, einen Teil davon freizugeben. Das wäre ein Bug, gegen den man als Spieler aber nichts tun kann. Wenn das Leck nicht zu groß ist, kann man es mit dem Pagefile eine Zeit lang auffangen.

Wie gesagt, oft wird noch nicht mal was aus die Festplatte geschrieben, weil viel Speicher angefordert, aber dann doch nicht vollständig benutzt wird. Und selbst wenn Windows damit anfängt, dann zuerst Dinge, die höchstwahrscheinlich bis zum Ausschalten des System nicht mehr gebraucht werden. Das Swappen wird erst zum Problem, wenn die ausgelagerten Daten wieder zurückgelesen werden müssen. Dann hat man zu wenig RAM oder einen Prozess, der zu viel Speicher braucht ...