Jak dowiedzieć się, która maszyna wirtualna jest odpowiedzialna za większość operacji we / wy widzianych za pomocą funkcji Hyper-V?
Sytuacja: mam hosty Hyper-V z wieloma maszynami wirtualnymi (około 30 na hosta), w których czasami widzę dłuższe okresy dużego wykorzystania dysku. Chciałbym wiedzieć, która VM to powoduje.
Próbowałem użyć Process Explorera, ale zgłosiło to, że wszystkie operacje we / wy związane z funkcją Hyper-V były obsługiwane przez proces „System”, więc nie ma tu żadnej pomocy
Już pomogłoby to uzyskać podział według plików, do których uzyskano dostęp. Pełna instalacja GUI systemu Windows Server zawiera Monitor zasobów, który dostarcza te informacje. Jednak Resmon wydaje się być niedostępny w instalacjach Core i Hyper-V.
performance-monitoring
hyper-v-server-2012
the-wabbit
źródło
źródło
Odpowiedzi:
Otwórz Monitor wydajności (uruchamiany jako administrator) na lokalnej stacji roboczej. Dodaj licznik, wybierz liczniki z maszyny Hyper-V, wirtualnego kontrolera IDE Hyper-V lub wirtualnego urządzenia magazynującego Hyper-V, wybierz liczniki i instancje (VM) odpowiednio do potrzeb. Być może będziesz musiał trochę rozejrzeć się, aby znaleźć licznik, który jest dla ciebie najbardziej sensowny.
Istnieje kilka dobrych wskazówek, których liczników należy szukać w Monitorowaniu wydajności funkcji Hyper-V
źródło
Syneticon-dj, napisałem coś dla ciebie dziś po południu. Myślałem, że ten problem jest interesujący, więc ten prosty skrypt da ci odczyt i zapis statystyki IO na każdej działającej maszynie wirtualnej na hoście Hyper-V. Jako dodatkowy bonus wiąże każdą maszynę wirtualną z identyfikatorem procesu vmwp.exe.
Możesz uruchomić to na serwerze Hyper-V, ponieważ nie wymaga GUI.
Minusem jest to, że podczas pracy nad tym zauważyłem, że liczniki wydajności działały przez chwilę świetnie, a potem bez wyraźnego powodu postanowili pozostać na zero. Cóż, może nie jest to błąd, jak mówi Chris S. ... ale te liczniki mogą niestety nie być zbyt przydatne. Niezależnie od tego bardzo łatwo byłoby zmodyfikować skrypt, aby korzystać z Virt. Zamiast tego liczniki urządzeń pamięci masowej.
Dane wyjściowe wyglądają następująco:
źródło
Obie pozostałe odpowiedzi są przydatne. Ale okazuje się, że otrzymuję to, czego szukasz o wiele łatwiej (kiedy dyski VHD są przechowywane na lokalnych lub lokalnie udostępnianych dyskach zamiast na serwerze plików), otwierając „Monitor zasobów” i patrząc na kartę Dysk. Spójrz na „Aktywność dysku” i sortuj według „Razem (B / s)”. Wyświetlone zostaną dyski VHD w kolejności ich aktywności.
Oczywiście moją strategią jest luźne przybliżenie maszyn, do których jesteś zalogowany lokalnie, co czyni ją mniej użyteczną w dużym, bezgłowym środowisku.
źródło
Napisałem narzędzie GUI programu PowerShell gromadzące dane o wydajności gościa dla wszystkich maszyn wirtualnych znalezionych na wybranych hostach Hyper-V. Zbieranie i dopasowywanie danych odbywa się za pomocą informacji WMI get-counter i Hyper-V. Uruchom z dowolnego serwera członkowskiego, nie wymaga modułów. Mam nadzieję, że pomoże to w szybkim rozwiązywaniu problemów z wydajnością na hostach Hyper-V i maszynach wirtualnych.
Pokaż statystyki wydajności gościa maszyny wirtualnej Hyper-V (PowerShell) https://gallery.technet.microsoft.com/Show-Hyper-V-Virtual-652fdd54
źródło
Możesz wypróbować narzędzie innej firmy, które może pomóc w wykryciu maszyny wirtualnej, która powoduje wysokie We / Wy, a także ma możliwość ostrzegania o tak wysokich We / Wy. Możesz to sprawdzić tutaj - Monitor VM ApexSQL .
To narzędzie może monitorować duże spektrum liczników dysków dla hosta i maszyny wirtualnej, a oprócz predefiniowanych liczników można je skonfigurować do monitorowania i wyświetlania graficznej prezentacji liczników z monitora wydajności.
Mam nadzieję, że pomogłem.
źródło