Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Hinweis
Dieser Artikel ist spezifisch für .NET Framework. Sie gilt nicht für neuere Implementierungen von .NET, einschließlich .NET 6 und höherer Versionen.
Profilerstellung ist eine Methode zum Sammeln von Leistungsdaten in jedem Entwicklungs- oder Bereitstellungsszenario. Dieser Abschnitt richtet sich an Entwickler und Systemadministratoren, die Informationen zur Anwendungsleistung sammeln möchten.
Nachverfolgen der Leistung mithilfe des Leistungsmonitors (Perfmon.exe)
Der Leistungsmonitor ist das einfachste Tool, mit dem Sie Ihre .NET Framework-Anwendung profilieren können. Der Leistungsmonitor stellt daten, die in den .NET Framework-Leistungsindikatoren enthalten sind, die mit der Common Language Runtime und dem Windows SDK installiert sind, grafisch dar. Diese Zähler können verwendet werden, um alles von der Speicherverwaltung bis zur Leistung des Just-in-Time-Compilers zu überwachen. Sie informieren Sie über die Ressourcen, die Ihre Anwendung verwendet. Dies ist ein indirektes Maß für die Leistung Ihrer Anwendung. Verwenden Sie diese Leistungsindikatoren, um zu verstehen, wie Ihre Anwendung intern funktioniert.
So führen Sie Perfmon.exe unter Windows Vista und höheren Versionen aus
Geben Sie an der Eingabeaufforderung perfmon ein. Die Leistungsmonitorkonsole erscheint.
Klicken Sie im Ordner "Überwachungstools " auf "Leistungsüberwachung".
Klicken Sie auf der Symbolleiste "Leistungsmonitor" auf das Symbol "Hinzufügen " (das Pluszeichen), falls es vorhanden ist. Wenn sie nicht vorhanden ist, klicken Sie mit der rechten Maustaste in das Monitorfenster, und wählen Sie die Option "Zähler hinzufügen" aus.
Dadurch wird das Dialogfeld "Leistungsindikatoren hinzufügen " geöffnet. Im Listenfeld "Verfügbare Leistungsindikatoren " werden die verfügbaren Leistungsobjekte angezeigt. Es gibt eine Reihe vordefinierter Objekte für .NET Framework-Anwendungen, einschließlich der objekte für die Speicherverwaltung (.NET CLR Memory), die Interoperabilität (.NET CLR Interop), die Ausnahmebehandlung (.NET CLR Exceptions) und multithreading (.NET CLR LocksAndThreads). Jedes Leistungsobjekt umfasst eine Reihe von einzelnen Leistungsindikatoren. Eine Liste der leistungsindikatoren, die im Leistungsmonitor verfügbar sind, finden Sie unter Leistungsindikatoren.
Aktivieren Sie das Kontrollkästchen neben dem Namen eines Leistungsobjekts, um die Liste der einzelnen Leistungsindikatoren anzuzeigen, die es unterstützt.
Klicken Sie auf den Leistungsindikator, den Sie anzeigen möchten.
Klicken Sie im Feld "Instanzen der ausgewählten Objektliste" auf "<Alle Instanzen>", um anzugeben, dass Sie den Leistungsindikator für die Common Language Runtime global überwachen möchten (d. s. auf systemweiter Basis).
-oder-
Klicken Sie im Listenfeld "Instanzen des ausgewählten Objekts " auf einen Anwendungsnamen, um den Leistungsindikator für diese Anwendung zu überwachen.
Um mehrere Versionen der Laufzeit zu unterscheiden oder mehrere Anwendungen mit demselben Namen zu unterscheiden, müssen Sie auch einen Registrierungsschlüssel ändern. Weitere Informationen finden Sie unter Performance Counters and In-Process Side-By-Side Applications.
Hinweis
Wenn neue Leistungsindikatoren installiert werden, während die Leistungskonsole ausgeführt wird, beenden Sie die Leistungskonsole, und starten Sie sie neu, um die neuen Leistungsindikatoren sichtbar zu machen.
Wenn Sie für eine Assembly ein Profil erstellen möchten, die sich in einer Zone oder auf einer Remotefreigabe befindet, stellen Sie sicher, dass die Remoteassembly auf dem Computer über volle Vertrauenswürdigkeit verfügt, auf dem die Leistungsindikatoren ausgeführt werden. Ist die Vertrauenswürdigkeit der Assembly zu gering bemessen, funktionieren die Leistungsindikatoren nicht. Informationen zum Gewähren von Vertrauen für verschiedene Zonen finden Sie im Abschnitt Caspol.exe (Code Access Security Policy Tool).
Hinweis
Auf Systemen, auf denen .NET Framework 4 installiert ist, zeigt der Leistungsmonitor möglicherweise keine Daten für Leistungsindikatoren in einigen Kategorien an, z. B. .NET CLR-Daten und .NET CLR Networking, für Anwendungen, die mit .NET Framework 1.1 entwickelt wurden. Wenn dies der Fall ist, können Sie den Leistungsmonitor so konfigurieren, dass diese Daten angezeigt werden, indem Sie das <forcePerformanceCounterUniqueSharedMemoryReads-Element> zur Konfigurationsdatei der Anwendung hinzufügen.
Programmgesteuertes Lesen und Erstellen von Leistungsindikatoren
Das .NET Framework stellt Klassen bereit, mit denen Sie programmgesteuert auf die gleichen Leistungsinformationen zugreifen können, die in der Performance-Konsole verfügbar sind. Sie können diese Klassen auch verwenden, um benutzerdefinierte Leistungsindikatoren zu erstellen. In der folgenden Tabelle werden einige der Leistungsüberwachungsklassen beschrieben, die in .NET Framework bereitgestellt werden.
Klasse | BESCHREIBUNG |
---|---|
System.Diagnostics.PerformanceCounter | Stellt eine Komponente des Windows-Leistungsindikators dar. Verwenden Sie diese Klasse, um vorhandene vordefinierte oder benutzerdefinierte Leistungsindikatoren zu lesen und Leistungsdaten in benutzerdefinierten Leistungsindikatoren zu veröffentlichen (schreiben). |
System.Diagnostics.PerformanceCounterCategory | Stellt mehrere Methoden für die Interaktion mit Zählern und Kategorien von Zählern auf dem Computer bereit. |
System.Diagnostics.PerformanceCounterInstaller | Gibt ein Installationsprogramm für die PerformanceCounter Komponente an. |
System.Diagnostics.PerformanceCounterType | Gibt die Formel zum Berechnen der NextValue -Methode für eine PerformanceCounter an. |