Aufzeichnen eines Speicherabbilds bei einem Prozess mit Speicherverlusten
Der BizTalk-Prozess BTSNTSvc.exe erzeugt Speicherverluste, wenn er nicht mehr benötigten Speicher nicht freigibt und den verfügbaren Speicher auf diese Weise allmählich verringert. Die Speicherauslastung des Prozesses kann durch Anzeigen des Werts unter der Spalte Mem-Nutzung der Registerkarte Prozesse im Task-Manager ermittelt werden. Wenn der Prozess im Laufe der Zeit weiterhin Speicher belegt, ohne Speicher freizugeben, wird dadurch die Gesamtleistung des Systems beeinträchtigt.
Dieses Thema enthält Anweisungen zum Aufzeichnen eines Speicherabbilds eines BizTalk-Prozesses, der vermutlich Speicherverluste verursacht, mithilfe einer Regel oder zum manuellen Aufzeichnen des Speicherabbilds. Zeichnen Sie ein Speicherabbild manuell auf, wenn sich die Speicherverluste nicht vorhersagen lassen.
So zeichnen Sie mithilfe einer Regel ein Speicherabbild eines Prozesses auf, der Speicherverluste verursacht
Starten Sie das Debugdiagnosetool unter Start, Alle Programme, IIS-Diagnose, Debugdiagnosetools, Debugdiagnosetool 1.0.
Wenn das Dialogfeld Regeltyp auswählen des Assistenten zum Hinzufügen von Regeln nicht angezeigt wird, klicken Sie im Menü Extras auf Regelaktionen, und klicken Sie auf Regel hinzufügen , um den Assistenten zum Hinzufügen von Regeln anzuzeigen.
Wählen Sie im Dialogfeld Regeltyp auswählen die Option Arbeitsspeicher und Verlust behandeln aus, und klicken Sie auf Weiter.
Wählen Sie den BTSNTSvc.exe Prozess aus, der vermutet wird, dass Arbeitsspeicher verloren geht, und klicken Sie auf Weiter.
Führen Sie im Dialogfeld Dauer der Nachverfolgung konfigurieren die folgenden Schritte aus:
Wenn das beobachtete Prozessspeicherwachstum sofort auftritt, aktivieren Sie die Option Speichernachverfolgung sofort starten, wenn die Regel aktiviert wird. Wenn die beobachtete Prozessspeichervergrößerung nicht sofort auftritt, geben Sie im Textfeld Aufwärmzeit eine entsprechende Anzahl von Minuten an, nach der die Speichernachverfolgung gestartet wird.
Hinweis
Der beobachtete Prozessspeicher nimmt unter Umständen nicht sofort zu, wenn die Speicherverluste beim Laden einer bestimmten Komponente in den Speicher verursacht werden, z. B. bei Verweisen einer BizTalk-Orchestrierung auf externe Komponenten.
Geben Sie im Textfeld Nachverfolgungszeit eine geeignete Anzahl von Minuten an, nach der die Speichernachverfolgung beendet wird. Die Anzahl der Minuten muss so groß sein, dass die Speicherverluste reproduziert werden können. Nach Ablauf dieser Zeit wird ein Speicherabbild des Prozesses aufgezeichnet.
Aktivieren Sie die Option zum Automatischen Erstellen einer Absturzregel, um userdump beim unerwarteten Beenden des Prozesses zu erhalten.
Klicken Sie auf Weiter.
Klicken Sie im Dialogfeld Speicherort und Regelname auswählen auf Weiter , um die Standardwerte zu übernehmen.
Klicken Sie im Dialogfeld Regel abgeschlossen auf Fertig stellen , um den Standardwert der Regel jetzt aktivieren zu übernehmen.
Standardmäßig wird ein Speicherabbild des Prozesses im Verzeichnis \Programme\IIS Resources\DebugDiag\Logs\<name des Absturzregelverzeichnisses> des lokalen Computers gespeichert, nachdem die im Dialogfeld Nachverfolgungsdauer konfigurieren angegebenen Zeitintervalle abgelaufen sind.
So zeichnen Sie ein Speicherabbild eines Prozesses mit Speicherverlusten manuell auf
Starten Sie das Debugdiagnosetool unter Start, Alle Programme, IIS-Diagnose, Debugdiagnosetools, Debugdiagnosetool 1.0.
Wenn das Dialogfeld Regeltyp auswählen des Assistenten zum Hinzufügen von Regeln angezeigt wird, klicken Sie auf Abbrechen.
Klicken Sie, um die Registerkarte Prozesse des Debugdiagnosetools auszuwählen.
Klicken Sie mit der rechten Maustaste auf den BTSNTSvc.exe Prozess, bei dem der Verdacht besteht, dass Arbeitsspeicher verloren geht, und klicken Sie auf Auf Lecks überwachen.
Überwachen Sie die Arbeitsspeicherauslastung des Prozesses im Task-Manager , und wenn die Arbeitsspeicherauslastung des Prozesses 60 bis 80 % des auf dem BizTalk-Computer verfügbaren Arbeitsspeichers nähert; Erfassen Sie manuell ein Speicherabbild des Prozesses, indem Sie mit der rechten Maustaste auf den Prozess klicken und die Option Vollständigen Benutzerdump erstellen auswählen.
In der Standardeinstellung wird ein Speicherabbild des Prozesses auf dem lokalen Computer im Verzeichnis \Programme\IIS Resources\DebugDiag\Logs\Misc\ gespeichert.