Как узнать, какая виртуальная машина отвечает за большинство операций ввода-вывода, которые отображаются в Hyper-V?
Ситуация: у меня есть хосты Hyper-V с несколькими виртуальными машинами (около 30 на хост), где я иногда вижу длительные периоды высокой загрузки диска. Я хотел бы знать, какая ВМ вызывает это.
Я попытался использовать Process Explorer, но он сообщил, что все операции ввода-вывода, связанные с Hyper-V, будут обработаны процессом «System», поэтому никакой помощи нет:
Это уже помогло бы разбить файлы по доступу. Полная установка Windows Server с графическим интерфейсом имеет монитор ресурсов, который предоставляет эту информацию. Однако Resmon, по-видимому, недоступен в установках Core и Hyper-V.
performance-monitoring
hyper-v-server-2012
заместитель Wabbit
источник
источник
Ответы:
Откройте системный монитор (запустите от имени администратора) на локальной рабочей станции. Добавьте счетчик, выберите счетчики с компьютера hyper-v, виртуального IDE-контроллера Hyper-V или виртуального устройства хранения Hyper-V, выберите счетчики и экземпляры (ВМ), если это кажется подходящим. Возможно, вам придется немного порыбачить, чтобы найти тот счетчик, который наиболее вам подходит.
Есть несколько полезных советов относительно того, какие счетчики следует искать в мониторинге производительности Hyper-V.
источник
Syneticon-dj, я написал кое-что для тебя сегодня днем. Мне показалось, что эта проблема была интересной, поэтому этот простой скрипт даст вам статистику чтения и записи для каждой запущенной виртуальной машины на хосте Hyper-V. В качестве дополнительного бонуса он связывает каждую виртуальную машину с идентификатором процесса vmwp.exe.
Вы можете запустить это на своем сервере Hyper-V, потому что ему не нужен графический интерфейс.
Недостатком является то, что, работая над этим, я заметил, что счетчики производительности некоторое время прекрасно работали, а затем без видимой причины решили все остаться на нуле. Ну, может быть, это не ошибка, как говорит Крис С. ... но эти счетчики, к сожалению, могут оказаться не очень полезными. Несмотря на это, было бы очень легко изменить скрипт для использования Virt. Счетчики устройств хранения вместо.
Вывод выглядит так:
источник
Оба других ответа полезны. Но я обнаружил, что гораздо легче получить то, что вы ищете (когда виртуальные жесткие диски хранятся на локальных или локально общих дисках вместо файлового сервера), открыв «Монитор ресурсов» и просмотрев вкладку «Диск». Посмотрите на «Активность диска» и отсортируйте по «Всего (B / сек)». Вы увидите виртуальные жесткие диски в порядке их активности.
Очевидно, что моя стратегия - это слабое приближение для машин, на которые вы локально вошли, что делает его менее полезным в большой, безголовой среде.
источник
Я написал инструмент PowerShell GUI, собирающий данные о производительности гостя для всех виртуальных машин, найденных на выбранных хостах Hyper-V. Сбор и сопоставление данных осуществляется с помощью get-counter и Hyper-V WMI. Запуск с любого рядового сервера, модули не требуются. Я надеюсь, что это поможет быстро устранить проблемы с производительностью на хостах Hyper-V и виртуальных машинах.
Показать статистику производительности гостевых виртуальных машин Hyper-V (PowerShell) https://gallery.technet.microsoft.com/Show-Hyper-V-Virtual-652fdd54
источник
Возможно, вы захотите попробовать сторонний инструмент, который может помочь с обнаружением виртуальной машины, которая вызывает высокий уровень ввода-вывода, а также имеет возможность оповещения о таких высоких значениях ввода-вывода. Вы можете проверить это здесь - ApexSQL VM Monitor .
Этот инструмент может контролировать большой спектр дисковых счетчиков для хоста и виртуальной машины, и помимо предопределенных счетчиков, он может быть настроен для мониторинга и отображения графического представления счетчиков с монитора производительности.
Надеюсь, я помог.
источник