WorkingSet Spike kurz vor OutOfMemoryException

Ich untersuche einen Vorfall, bei dem eine OutOfMemoryException für eine "traditionelle" .NET-Serveranwendung in der Produktion ausgelöst wurde. Mein Ziel ist es, einen bestimmten Teil der über den Systemmonitor erfassten Daten zu interpretieren und Ratschläge zur weiteren Vorgehensweise einzuholen. Lassen Sie mich mit einer Liste von Fakten beginnen:

Der Prozess war gelaufenüber 20 tage bis zum Absturz.Es stürzte ab, weil eine Ausnahme vom TypSystem.OutOfMemoryException wurde geworfen.In der Vergangenheit gab es ähnliche Vorfälle. Ebenso dauert es einelange Zeit für die Anwendung zum Absturz bringen.Der Prozess wurde von den folgenden Leistungsindikatoren über den Systemmonitor überwacht:# Bytes in allen Heaps,% Prozessorzeit, Private Bytes, Arbeitssatz.Wirkann nicht Erfassen Sie alle Speicherabbilder in der Produktionsumgebung, und wir konnten sie nicht reproduzieren.

Im ersten Screenshot sehen Sie das Gesamtverhalten der Zähler in einem Zeitraum von 7 Tagen. Die Dinge sind ziemlich stabil. Der zweite Screenshot zeigt das Verhalten in der letzten Minute rund um den Absturz. Die OutOfMemoryException wurde angemeldet15:13:49.

Meine Fragen sind: 1. Irgendwelche Ideen was macht dasplötzliche Zunahme des Arbeitssatzes bedeuten? Es war insgesamt stabil bei 650.000 MB und stieg in 10 Sekunden auf 1,3 GB. 2. Soll ich mich darauf konzentrieren, etwas zu finden, daslöste die OOM aus kurz vor dem Absturz, oder könnte es eine seinakkumulativer Faktor? Wie Sie gesehen haben, sind Private Bytes und Bytes auf allen Heaps ziemlich stabil.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage