Manchmal ist es hilfreich, eine Anwendung in eine schlechte Situation zu bekommen, um zu sehen, wie sie reagiert. Dinge wie das Abziehen des Netzwerkkabels oder das Entfernen der Stromversorgung zeigen mir, wie belastbar meine Anwendung ist und wo ich arbeiten muss.Wie ein OutOfMemoryException in .Net zu zwingen
Zu diesem Zweck, ich versuche, was der schnellste Weg, um herauszufinden, ein OutOfMemoryException
in .Net zu erzwingen. Wenn ich es in einer einfachen Konsolenanwendung mache, kann ich dieses Szenario in eine laufende Anwendung einfügen. Es gibt offensichtlich andere Dinge, die berücksichtigt werden müssen, wenn OutOfMemoryExceptions
behandelt wird (z. B. Speicherfragmentierung und wie der Garbage Collector die verschiedenen Generationen zugewiesen hat), aber das ist für den Umfang dieses Experiments nicht wichtig.
aktualisieren
den Zweck, die Frage zu klären, ist es wichtig, einfach zu beachten, dass nicht genügend Arbeitsspeicher Ausnahme zu werfen ist nicht hilfreich, da ich sehen möchte, wie das Programm reagiert, wenn der Speicherdruck erhöht wird. Im Wesentlichen möchte ich den GC in einen aggressiven Sammlungsmodus stimulieren und überwachen, wie sich dies auf die Leistung auswirkt, bis der Prozess aufgrund einer Ausnahme wegen zu wenig Speicherplatz beendet wird.
A [alte Frage von mir] (http://stackoverflow.com/questions/6977218/parallel-foreach-can-cause-a-out-of-memory-exception-if-working-with-a -enumera) könnte Sie interessieren. –
Wie belastbar könnte eine App für einen Stromausfall sein? – Rotem
http://stackoverflow.com/questions/15595061/outofmemoryexception-while-populating-memorystream-256mb-allocation-on-16-gb-sys –