Frage

Ich vermute, dass einer meiner Anwendungen mehr CPU-Zyklen isst als ich es will. Das Problem ist, -. Es in Bursts geschieht, und auf der Suche nur auf dem Task-Manager hilft mir nicht, da es nur sofortige Nutzung zeigt

Gibt es eine Möglichkeit (unter Windows) für einen Prozess der Geschichte der CPU und Speicherauslastung zu verfolgen. Z.B. Ich werde beginnen „firefox“, und nach einer Stunde Tracking oder so wird ein Diagramm der CPU und Speicherauslastung während dieser Stunde sehen.

Ich suche entweder ein fertiges Werkzeug oder einen programmatischen Weg, dies zu erreichen.

War es hilfreich?

Lösung

Geben Sie einfach perfmon in Start > Run und drücken Sie die Eingabetaste. Wenn die Performance-Fenster geöffnet ist, klicken Sie auf das + neue Zähler Graph hinzuzufügen. Die Zähler sind verschiedene Aspekte, wie Sie Ihren PC arbeitet und durch Ähnlichkeit in Gruppen genannt „Performance Object“ zusammengefasst.

Für Ihre Fragen können Sie die „Process“, „Memory“ und „Prozessor“ Leistungsobjekte wählen. Anschließend können Sie diese Zähler in Echtzeit sehen

Sie können auch das Dienstprogramm angeben, um später die Leistungsdaten für Ihre Inspektion zu speichern. Um dies zu tun, wählen Sie „Leistungsprotokolle und Warnungen“ im linken Bereich. (Es ist direkt unter dem Systemmonitor-Konsole, die uns bietet mit den oben genannten Zähler erwähnt. Wenn es nicht vorhanden ist, klicken Sie auf „Datei“> „Hinzufügen / Entfernen von Snap-In“, klicken Sie auf Hinzufügen und wählen Sie „Leistungsprotokolle und Warnungen“ in der Liste “.) Von der‚Leistungsprotokolle und Warnungen Zähler Logs ‚‘, eine neue Überwachungskonfiguration unter erstellen‘. Danach können Sie die Zähler hinzufügen, geben Sie die Abtastrate, das Protokollformat (binär oder Klartext) und log Lage.

Andere Tipps

Process Explorer kann durch ein Verfahren benötigte Zeit Gesamt-CPU zeigen, sowie eine Geschichte graph pro Prozess.

perfmon.exe verwenden, ich habe versucht, die „Privates Bytes“ Zähler unter „Process“ Zähler für die Speichernutzung zu verfolgen und es funktioniert gut.

vielleicht können Sie diese verwenden. Es sollte für Sie arbeiten und Prozessorzeit für den angegebenen Prozess berichten.

@echo off
: Rich Kreider <rjk@techish.net>
: report processor time for given process until process exits (could be expanded to use a PID to be more
: precise)
: Depends:  typeperf
: Usage:  foo.cmd <processname>

set process=%~1
echo Press CTRL-C To Stop...
:begin
for /f "tokens=2 delims=," %%c in ('typeperf "\Process(%process%)\%% Processor Time" -si 1 -sc 1 ^| find /V "\\"') do (
if %%~c==-1 (
goto :end
) else (
echo %%~c%%
goto begin
)
)

:end
echo Process seems to have terminated.

Ich bin damit einverstanden, perfmon.exe können Sie Zähler hinzufügen (rechts auf der rechten Seite klicken) für jeden Prozess, den Sie überwachen möchten.

Performance Objekt: Prozess Überprüfen Sie „Wählen Sie Instanzen aus der Liste“ und wählen Sie Firefox.

WMI ist Windows Management Instrumentation, und es ist in allen aktuellen Versionen von Windows integriert. Es ermöglicht Ihnen, programmatisch Dinge zu verfolgen, wie CPU-Auslastung, Disk-I / O und Speichernutzung.

Perfmon.exe ist ein GUI-Frontend zu dieser Schnittstelle und kann einen Prozess überwachen, schreibt Informationen in ein Protokoll, und lassen Sie das Protokoll nach der Tat analysieren. Es ist nicht die eleganteste Programm der Welt, aber es macht den Job zu erledigen.

Process Lasso ist mehr für die Prozessautomatisierung und Prioritätsklasse Optimierung entworfen, nicht Graphen. Das heißt, es hat Angebot pro-Prozesshistorien CPU-Auslastung (als weiße Linie auf der Grafik gezeichnet), aber es tut nicht Angebot pro Prozess Speicherauslastung Geschichte.

Disclaimer: Ich bin der Autor des Process Lasso, aber eigentlich bin nicht hier befürwortet - da gibt es bessere Lösungen (perfmon der Beste zu sein)

.

Das Beste, was jemals ist Windows Vista + Ressourcen- und Performance Monitor. Es kann Nutzung von CPU, Speicher, Netzwerk und Festplattenzugriffe durch Prozesse im Laufe der Zeit verfolgen. Es ist ein großes Gesamtsysteminformation Dienstprogramm, das vor langer Zeit erstellt werden soll. Wenn ich nicht irre, kann es pro Prozess CPU- und Speichernutzung über die Zeit verfolgen (unter den anderen Dingen aufgelistet).

Sie können auch versuchen, eine C # / Perl / Java Skript die Nutzungsdaten unter Verwendung von WMI-Befehle erhalten verwenden, und unten ist, die Schritte für sie.

Wir brauchen 2 WMI Wählen Sie Abfragen ausführen und CPU% Auslastung Formel

anwenden

1. Um die Gesamtzahl der logischen Prozess abrufen

select NumberOfLogicalProcessors from Win32_ComputerSystem

2. Zum Abrufen der Werte von PercentProcessorTime, TimeStamp_Sys100NS (CPU-Auslastung Formel angewandt werden, erhält den tatsächlichen Nutzungsprozentsatz) und WorkingSetPrivate (RAM) mindestens 2 mal mit einer Ruhezeit von 1 Sekunde

select * from Win32_PerfRawData_PerfProc_Process where IDProcess=1234

3. Bewerben CPU% Auslastung Formel

CPU%= ((p2-p1)/(t2-t1)*100)/NumberOfLogicalProcessors

p2 angegeben PercentProcessorTime zum zweiten Mal abgerufen, und p1 indicateds die PercentProcessorTime zum ersten Mal, t2 abgerufen und t1 ist für TimeStamp_Sys100NS.

Eine Probe Perl-Code für diese können in der Verbindung http://www.craftedforeveryone.com/cpu-and-ram-utilization-of-an-application-using-perl-via-wmi/

Diese Logik gilt für alle Programmiersprache, die WMI-Abfragen unterstützt

Obwohl ich dies aus nicht versucht haben, ProcDump scheint eine bessere Lösung.

Beschreibung von Ort:

  

ProcDump ist ein Befehlszeilenprogramm, deren primärer Zweck verfolgt, eine Anwendung für CPU-Spitzen und Crash-Erzeugung während eines Spike-Dumps, die ein Administrator oder Entwickler verwenden können, um die Ursache der Spitze zu bestimmen. ProcDump umfasst auch Schwing-Fenster-Überwachung (die gleiche Definition eines Fensters mit hängen, dass Windows und Task-Manager), nicht behandelte Überwachung Ausnahme und kann Dumps Zähler basierend auf den Werten der Systemleistung erzeugen. Es kann auch als allgemeines Verfahren Dump Dienstprogramm dienen, die Sie in anderen Skripten einbetten können.

Hmm, ich sehe, dass Process Explorer es tun kann, obwohl seine grafische Darstellungen sind nicht zu bequem. Noch auf der Suche nach alternativen / besseren Möglichkeiten, es zu tun.

Perfmon.exe wird in Windows integriert.

Sie können einen Blick auf Process Lasso haben wollen.

Unter 10 Windows kann der Task-Manager Sie kumulative Stunden CPU zeigen. Nur dann zum „App Geschichte“ klicken und „Verwendungsverlauf löschen“. Nun lassen Sie die Dinge für eine Stunde oder zwei ausgeführt wird:

Was dies nicht tut, ist brechen Verwendung in Browsern von Tab. Ziemlich oft inaktiv Tabs werde eine enorme Menge an Arbeit zu tun, mit jedem geöffneten Reiter Energie und Ihren PC verlangsamen.

Ich verwende für Taskinfo Geschichte Diagramm der CPU / RAM / IO-Geschwindigkeit. http://www.iarsn.com/taskinfo.html

Aber Ausbrüche von Teilnahmslosigkeit, klingen eher wie Unterbrechungszeit aufgrund eines falty HD / SS-Laufwerk.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top