Bagaimana saya mengetahui VM mana yang bertanggung jawab untuk sebagian besar I / OI lihat dengan Hyper-V?
Situasi: Saya memiliki host Hyper-V dengan sejumlah VM (sekitar 30 per host) di mana saya kadang-kadang melihat periode lama penggunaan disk yang tinggi. Saya ingin tahu VM mana yang menyebabkan ini.
Saya mencoba menggunakan Process Explorer, tetapi melaporkan semua I / O terkait Hyper-V yang akan ditangani oleh proses "Sistem", jadi tidak ada bantuan di sana:
Itu sudah akan membantu untuk memiliki gangguan oleh file yang diakses. Pemasangan GUI lengkap dari Windows Server memiliki Resource Monitor yang menyediakan informasi ini. Namun, Resmon tampaknya tidak tersedia di instalasi Core dan Hyper-V.
performance-monitoring
hyper-v-server-2012
the-wabbit
sumber
sumber
Jawaban:
Buka Monitor Kinerja (jalankan sebagai Admin) di workstation lokal Anda. Tambahkan penghitung, pilih penghitung dari mesin hyper-v, Hyper-V Virtual IDE Controller atau Hyper-V Virtual Storage Device, pilih penghitung dan instance (VM) yang tampaknya sesuai. Anda mungkin harus sedikit memancing di sekitar untuk menemukan konter yang paling masuk akal bagi Anda.
Ada beberapa petunjuk bagus yang harus dicari Penghitung dalam Memantau Kinerja Hyper-V
sumber
Syneticon-dj, aku menulis sesuatu untukmu sore ini. Saya pikir masalah ini menarik, jadi skrip sederhana ini akan memberi Anda statistik baca dan tulis IO pada setiap VM yang berjalan di host Hyper-V. Sebagai bonus tambahan, ia mengaitkan setiap VM ke ID Proses vmwp.exe-nya.
Anda dapat menjalankan ini di server Hyper-V Anda, karena tidak memerlukan GUI.
Kelemahannya adalah ketika saya sedang mengerjakan ini, saya perhatikan bahwa penghitung kinerja bekerja sangat baik untuk sementara waktu, dan kemudian tanpa alasan yang jelas mereka memutuskan untuk semua tetap pada nol. Yah, mungkin itu bukan bug, seperti kata Chris S ... tapi penghitung ini sayangnya mungkin tidak terlalu berguna. Apapun itu, akan sangat mudah untuk memodifikasi skrip untuk menggunakan Virt. Sebaliknya, Penghitung Perangkat Penyimpanan.
Outputnya terlihat seperti ini:
sumber
Kedua jawaban lainnya bermanfaat. Tetapi saya menemukan bahwa saya mendapatkan apa yang Anda cari dengan lebih mudah (ketika VHD disimpan pada disk lokal atau yang dibagikan secara lokal alih-alih server file) dengan membuka "Resource Monitor" dan melihat pada tab Disk. Lihatlah "Aktivitas Disk" dan urutkan berdasarkan "Total (B / dtk)." Anda akan melihat VHD tercantum dalam urutan aktivitasnya.
Jelas strategi saya adalah perkiraan longgar untuk mesin yang Anda masuk secara lokal, yang membuatnya kurang berguna dalam lingkungan yang besar dan tanpa kepala.
sumber
Saya menulis alat PowerShell GUI yang mengumpulkan data kinerja Tamu untuk semua VM yang ditemukan di host Hyper-V yang dipilih. Pengumpulan dan pencocokan data dilakukan dengan informasi konter dan WMI Hyper-V. Jalankan dari server anggota mana pun, tidak perlu modul. Saya harap ini akan membantu dengan cepat memecahkan masalah kinerja pada host Hyper-V dan VM.
Tampilkan Statistik Kinerja Tamu Hyper-V Virtual Machine (PowerShell) https://gallery.technet.microsoft.com/Show-Hyper-V-Virtual-652fdd54
sumber
Anda mungkin ingin mencoba alat pihak ke-3 yang dapat membantu dengan mesin virtual detecintg yang menyebabkan I / O tinggi, dan juga memiliki kemampuan untuk mengingatkan pada I / O tinggi tersebut. Anda dapat memeriksanya di sini - ApexSQL VM Monitor .
Alat ini dapat memonitor momok besar penghitung disk untuk host dan mesin virtual, dan di samping penghitung yang telah ditentukan, ia dapat diatur untuk memantau dan menampilkan presentasi grafis penghitung dari monitor Kinerja.
Semoga saya bisa membantu.
sumber