Wie finde ich heraus, welche VM für den Großteil der mit Hyper-V angezeigten E / A verantwortlich ist?
Die Situation: Ich habe Hyper-V-Hosts mit einer Reihe von VMs (ca. 30 pro Host), auf denen gelegentlich längere Zeiträume mit hoher Festplattenauslastung auftreten. Ich würde gerne wissen, welche VM dies verursacht.
Ich habe versucht, Process Explorer zu verwenden, aber es wurden alle Hyper-V-bezogenen E / A-Vorgänge gemeldet, die vom "System" -Prozess verarbeitet werden sollen.
Es wäre schon hilfreich, eine Aufschlüsselung nach zugegriffenen Dateien vorzunehmen. Die vollständige GUI-Installation von Windows Server enthält den Ressourcenmonitor , der diese Informationen bereitstellt. Resmon scheint jedoch in Core- und Hyper-V-Installationen nicht verfügbar zu sein.
quelle
Antworten:
Öffnen Sie den Systemmonitor (als Administrator ausführen) auf Ihrer lokalen Arbeitsstation. Leistungsindikator hinzufügen, Leistungsindikatoren auf dem Hyper-V-Computer, dem virtuellen Hyper-V-IDE-Controller oder dem virtuellen Hyper-V-Speichergerät auswählen, Leistungsindikatoren und Instanzen (VMs) nach Bedarf auswählen. Möglicherweise müssen Sie ein wenig herumfischen, um die für Sie am sinnvollsten geeignete Theke zu finden.
Es gibt einige gute Hinweise, nach welchen Indikatoren bei der Überwachung der Hyper-V-Leistung gesucht werden muss
quelle
Syneticon-dj, ich habe heute Nachmittag etwas für dich geschrieben. Ich fand dieses Problem interessant, daher gibt Ihnen dieses einfache Skript die Lese- und Schreib-E / A-Statistiken für jede ausgeführte VM auf dem Hyper-V-Host. Als zusätzlichen Bonus ordnet er jede VM der Prozess-ID seiner vmwp.exe zu.
Sie können dies auf Ihrem Hyper-V-Server ausführen, da keine grafische Benutzeroberfläche erforderlich ist.
Der Nachteil ist, dass ich während der Arbeit bemerkte, dass die Leistungsindikatoren für eine Weile großartig funktionierten, und dann entschieden sie sich ohne erkennbaren Grund, alle auf Null zu bleiben. Naja, vielleicht ist es kein Fehler, wie Chris S sagt ... aber diese Zähler könnten leider doch nicht sehr nützlich sein. Unabhängig davon ist es sehr einfach, das Skript für die Verwendung von Virt zu ändern. Stattdessen Speichergerätezähler.
Die Ausgabe sieht folgendermaßen aus:
quelle
Beide anderen Antworten sind nützlich. Aber ich finde, dass ich das, wonach Sie suchen, viel einfacher bekomme (wenn die VHDs auf lokalen oder lokal freigegebenen Festplatten anstatt auf einem Dateiserver gespeichert sind), indem ich "Resource Monitor" öffne und auf die Registerkarte "Festplatte" schaue. Sehen Sie sich "Festplattenaktivität" an und sortieren Sie nach "Gesamt (B / s)". Sie sehen die VHDs in der Reihenfolge ihrer Aktivität.
Offensichtlich ist meine Strategie eine lose Annäherung an Maschinen, bei denen Sie lokal angemeldet sind, was sie in einer großen, kopflosen Umgebung weniger nützlich macht.
quelle
Ich habe ein PowerShell-GUI-Tool geschrieben, mit dem Guest-Leistungsdaten für alle auf ausgewählten Hyper-V-Hosts gefundenen VMs erfasst werden. Das Sammeln und Abgleichen von Daten erfolgt mit Get-Counter- und Hyper-V-WMI-Informationen. Ausführen von einem Mitgliedsserver, keine Module erforderlich. Ich hoffe, dies hilft bei der schnellen Behebung von Leistungsproblemen auf Hyper-V-Hosts und VMs.
Zeigen Sie die Gastleistungsstatistik der virtuellen Hyper-V-Maschine (PowerShell) https://gallery.technet.microsoft.com/Show-Hyper-V-Virtual-652fdd54 an
quelle
Möglicherweise möchten Sie ein Tool eines Drittanbieters ausprobieren, mit dessen Hilfe Sie virtuelle Maschinen ermitteln können, die hohe E / A-Werte verursachen, und bei solchen hohen E / A-Werten einen Alarm auslösen können. Sie können es hier überprüfen - ApexSQL VM Monitor .
Dieses Tool kann eine große Anzahl von Datenträgerindikatoren für Hosts und virtuelle Maschinen überwachen. Neben vordefinierten Indikatoren kann es so eingerichtet werden, dass Leistungsindikatoren vom Systemmonitor überwacht und grafisch dargestellt werden.
Hoffe ich habe geholfen.
quelle