uselessuser
Goto Top

Tool gesucht zum Loggen von System-Daten (vor allem CPU-Zeit)

Hallo Leute!

Ich suche wieder einmal ein Tool, dieses Mal möchte ich über eine Zeit von 12 Stunden auf einem Windows Server 2003 mitloggen lassen, wieviel Schreibvorgänge und CPU-Zeit sich bei allen laufenden Prozessen im System abspielen.

Process Explorer: Schönes Tool, aber keine Logging-Möglichkeit gefunden.
Perfmon von Windows: habe ich eine Weile gefummelt, ist mir viel zu unübersichtlich vor allem in der graphischen Auswertung
XPerfView vom Microsoft SDK for Windows: wieder so eine "Fummel"-Lösung mit Kommandozeilen-Befehlen

Kennt jemand ein knackiges, professionelles Tool, gerne auch kommerzielle Software?

MfG, UU

Content-Key: 180416

Url: https://administrator.de/contentid/180416

Printed on: April 24, 2024 at 06:04 o'clock

Mitglied: 60730
60730 Feb 12, 2012 at 16:22:41 (UTC)
Goto Top
moin,

ich weiß ja nicht, aber Adminwerkzeuge, die nur Gui können, sind nicht meine Favoriten.
(Manche "fummeln" dann mit Autoitscripten, um dieses Klickibuntizeugs steuern zu können)

  • Mit Boardmitteln - einfach ein Leistungsindikatorenprotokoll antriggern
  • Process Explorer in den wohlverdienten Ruhestand schicken und Process Monitor (vom gleichen Autor) nutzen?

Aber Obacht....
Genau mit so einer Analyse beschäftigst du dein System mehr, als üblich ob das so aussagekräftig ist - waage ich immer in Zweifel zu stellen.

PS: Grafische Auswertung ist immer "fummelig", denn aussagekräftige Zahlen im falschen Diagrammtyp sagen nix mehr aus. face-wink
Member: UselessUser
UselessUser Feb 12, 2012 at 17:35:36 (UTC)
Goto Top
Hallo TimoBeil,

danke erst einmal für deine Antwort!

"Grafische Auswertung ist immer "fummelig", denn aussagekräftige Zahlen im falschen Diagrammtyp sagen nix mehr aus."
Das ist eben der Punkt, der zeitliche Verlauf bleibt unklar, keine zeitlichen Markierungen, aktiviere ich das Blockraster, habe ich z. B. für 29,5 Minuten 25 Blockeinheiten. Daraus werde ich einfach nicht schlau, wenn ich für bestimmte Uhrzeiten die genauen Werte der einzelnen Prozesse prüfen möchte.

"Genau mit so einer Analyse beschäftigst du dein System mehr, als üblich ob das so aussagekräftig ist - waage ich immer in Zweifel zu stellen."
Ja, das stimmt schon, aber ich könnte doch isoliert einige Prozesse kontrollieren, welche evtl. zu bestimmten Uhrzeiten den Server lahm legen?

Den Process Monitor habe ich leider vergessen zu erwähnen, mit dem habe ich mich auch schon beschäftigt. Wiederum habe ich leider keine Möglichkeit gefunden, bei der statistischen Aufbereitung eine Zuordnung zwischen Uhrzeit und Leistungsdaten (CPU-Zeit, I/O-Bytes, Netzwerkaktivität) vorzunehmen.

MfG, UU
Member: ackerdiesel
ackerdiesel Feb 13, 2012 at 09:29:14 (UTC)
Goto Top
Hallo,

wenn es geht, von einem anderen rechner aus per SNMP auslesen, dies kannst Du dann auch grafisch aufbereiten.

Ich nutze dazu WahtsUp von IPSWITCH. Mit WhatsUp kann man dann die gewünschten Werte (CPU, Speicher, Festplatte, etc - Auslastung ) schön grafisch auswerten.


Gruß
ackerdiesel
Member: UselessUser
UselessUser Feb 13, 2012 at 11:42:19 (UTC)
Goto Top
Hallo ackerdiesel,

danke für den Hinweis, hört sich gut an, ist aber dann doch eine Schuhgröße zu weit face-wink Ich suche eher ein Tool, mit dem ich als Techniker zu einem einen lokalen Rechner oder zu einem Netzwerk komme (in diesem Fall einen lahmen Server, der ein bis zweimal am Tag einen seltsamen Einbruch hat) und vor Ort analysieren kann und dafür auf den Systemen nicht noch zusätzlich einen kompletten SQL-Server, Agenten, Dienste usw. installieren muss.

Ich werde es jetzt doch noch mit dem Microsoft Software Development Kit für Windows versuchen:
http://www.pcwelt.de/ratgeber/Leistungsfresser-finden-Windows-schneller ...
Dann kann ich ja noch einmal berichten ...

MfG, UU
Member: UselessUser
UselessUser Feb 14, 2012 at 15:26:37 (UTC)
Goto Top
Hallo Leute,

hier nun mein Bericht zum Tool "XPerf" von Microsoft zur detaillierten Leistungsmessung auf einem Rechner.

Wie ich befürchtet habe, musste ich einige Zeit "fummeln", wurde dafür aber auch ein bisschen belohnt. Vieles lief auf dem System Windows 2003 Server nicht so wie in einigen Anleitungen beschrieben, deshalb hier meine Vorgehensweise:

1. Das Microsoft Software Development Kit für Windows (SDK) enthält das Windows Performance Toolkit (WPT). Download des Microsoft SDK for Windows:
http://www.microsoft.com/download/en/details.aspx?id=8279
2. Installation auf einem Rechner mit Windows 7 oder Vista (!), bei der Wahl der Module kann alles abgewählt werden außer "Windows Performance Toolkit". Die Anmerkung, dass evtl. das Net.Framework fehlen würde für einige Funktionen, kann ignoriert werden.
(Bei Windows Vista/7/Server 2008 als Zielrechner entfällt natürlich das Hin- und Herschalten zwischen verschiedenen Windows-Systemen)
3. Der bei der Installation erstellte Ordner "C:\Programme\Microsoft Windows Performance Toolkit" kann nun einfach auf das zu analysierende Zielsystem kopiert werden. In dem Ordner befindet sich eine Hilfedatei, die recht sorgfältig erstellt wurde, allerdings in Englisch: WindowsPerformanceToolkit.chm.
4. Start erfolgt in der Kommandozeile mit der Gruppe der zu messenden Größen als Parameter. Es gibt auch Standardgruppen wie "diageasy":
xperf -on diageasy
Da diese sog. Kernelgruppe sehr viele Daten mitloggt, kann man sich auch eine eigene Gruppe basteln. Ich benötige CPU-Zeit pro Prozess und Festplattenzugriffe, also heißt es dann:
xperf -on loader+proc_thread+cswitch+disk_io
Während des Loggens konnte ich - abgesehen von Festplattenzugriffen - keine nennenswerte CPU-Belastung feststellen. Auf einem Testserver fielen 160 MByte/Std. an.
5. Gestoppt wird das Loggen wieder in der Kommandozeile, wobei eine ".etl"-Datei angegeben werden muss in welche die Daten nun geschrieben werden, dass kann dann schon dauern:
xperf -d logdatei.etl
6. Jetzt muss man mit dieser Logdatei leider wieder zum Windows 7-Rechner, denn ich habe es nicht geschafft, auch den Viewer auf Windows 2003 Server zum Laufen zu bringen (trotz versuchsweise regulärer Installation). Auf Windows 7 wird das .etl-Dateiformat automatisch mit dem Viewer verknüpft, ansonsten öffnet man das Tool erst oder geht es wieder über die Kommandozeile, auch xperfview.exe befindet sich im WPT-Ordner (siehe 3. Punkt):
xperfview logdatei.etl
7. Jetzt erhält man eine genaue zeitliche Zuordnung, Zoomfunktionen, an- und abwählbare Prozesse, Namen und Daten der gemessenen Prozesse, wenn man mit der Maus darüber fährt sowie ein- und ausblendbare Gruppen. Die X-Achse stellt immer die Zeitachse dar, in die man hineinzoomen kann und auch Zeitabschnitte können markiert werden, um anschließend mit der rechten Maustaste einen "Summary Table" mit sauberer Auflistung aller Prozesse und ihrer CPU-Zeit in genau diesem Zeitabschnitt zu haben. Ich bin schon leicht begeistert, obwohl es keine Euros, aber einen halben Arbeitstag gekostet hat. face-confused

MfG, UselessUser
Member: UselessUser
UselessUser Feb 15, 2012 at 12:08:54 (UTC)
Goto Top
Nachtrag:

Mit dem Kommando:
xperf -d dateiname.etl

wird die aktuelle Log-Datei in eine bestehende integriert, ist also oft gar nicht nötig und bei riesigen Dateien nicht sinnvoll, es genügt:
xperf -stop

Es wird auch ausgegeben, wohin die "kernel.etl" gespeichert wurde, nämlich immer in das Wurzelverzeichnis des Laufwerkes, in dem sich der Ordner "Microsoft Windows Performance Toolkit" befindet. In meiner Umgebung ließ sich dieses Toolkit aus der Box benutzen, d. h. ich konnte den Ordner auf ein anderes Laufwerk mit mehr Speicherplatz kopieren und dort xperf starten. XPerfView zur Auswertung lief auf diese Art allerdings nicht.

Es werden eine Menge Daten erzeugt, heute beim laufenden Betrieb auf dem Server mit einer Auswahl von Messobjekten schwoll die kernel.etl innerhalb von 4,5 Std. auf ca. 2,5 GB an! Zur Auswertung sollte man also einen schnellen Rechner zur Verfügung haben ...

MfG, UU