На виртуальной машине VMware, которая имеет серьезные проблемы с производительностью, я вижу постоянную среднюю загрузку ЦП на 20+ процентов для процесса TASKMGR.EXE (диспетчер задач). Приложения, работающие на этом сервере, имеют меньшую нагрузку, в среднем от 4 до 10 процентов. Виртуальная машина работает под управлением Windows 2003 Server Standard с выделенной оперативной памятью 3,75 ГБ. Я подозреваю, что загрузка ЦП диспетчера задач имеет какое-то отношение к другим экземплярам виртуальных машин на сервере VMWare, но не может увидеть аналогичное значение во внутренних системах ESXi (проблемная виртуальная машина работает в ИТ-отделе клиентов).
У меня были похожие симптомы, но не на виртуальной машине, а на ноутбуке Win7. Taskmgr.exe и другие процессы (например, Winmerge.exe) занимали 13% ЦП (один из 8). Проблема была временно решена перезапуском, поэтому я часто этим занимался.
После долгого исследования я решил, что виновником является Webroot Secure Anywere (программное обеспечение для защиты от вирусов и других типов защиты), WRSA.exe. Как только я завершил этот процесс, все снова стало происходить быстро, как по волшебству! Еще не уверен, что использовать вместо Webroot для защиты.
Производительность на сервере виртуализации следует оценивать сначала на физическом сервере, а затем на виртуальных машинах.
Внутри виртуальной машины вычисления времени неточны, особенно если вы перегрузили VCPU.
Кроме того, время процессора, затрачиваемое на системное время, может очень сильно повлиять на производительность. Даже 10% могут удвоить время отклика виртуальной машины, даже если общий процессор используется менее 15%.
Убедитесь, что вы не слишком загружаете память, и хост-сервер не меняет местами. Это сведет вашу производительность к нулю. Убедитесь, что инструменты VMware установлены и драйверы паравиртуализации (прямой ввод-вывод, баллон) запущены.
Ну а если просто выйти из диспетчера задач? :-)
Каждый раз, когда я видел нелепые значения для загрузки диспетчера задач, выяснялось, что он меняет местами на хосте виртуальной машины из-за нехватки памяти. Проверьте статистику памяти на хосте, особенно значения назначенной и используемой памяти и используемого свопа.
У меня была похожая проблема со стандартной виртуальной машиной 2003 года на vSphere 5.1. Изначально я сконфигурировал очень простую виртуальную машину (4 ГБ vRAM, 20 ГБ vDisk) с 1 сокетом с 2 ядрами. В режиме ожидания ЦП виртуальной машины постоянно находился в диапазоне 30-50%, даже если не было установленных программ, он был полностью обновлен и т. Д.
Я пробовал разные конфигурации ЦП, и когда я изменил количество виртуальных ядер с 1 сокета и 2 ядер на 1 сокет и 4 ядра (и перезапустил), все успокоилось - на холостом ходу на 99%.
Я не знаю достаточно о методологии vCPU, чтобы предложить объяснение, но, возможно, это поможет кому-то
Сам хост - это DL385 Gen8 с 2 x 16 ядрами AMD.
Диспетчер задач пытается делать что-то в режиме реального времени. Это опрос ресурсов с заданной частотой. Для любого заданного набора показателей и нагрузки, отслеживаемых диспетчером задач, количество инструкций определяется на некотором фиксированном значении действующим алгоритмом.
Если он использует 20% ЦП для данного набора показателей, это потому, что для начала не так много ЦП. Если вы запустите такую же нагрузку на машине с 10-кратным увеличением ЦП, это займет всего 2% ЦП.
Таким образом,% использования ЦП зависит от доступного ЦП. В случае виртуальной машины это зависит от физической мощности процессора, на котором она работает. минус емкость ЦП, потребляемая другими виртуальными машинами.
20% - это всего лишь много относительно общего ЦП, доступного для виртуальной машины, на которой она работает, и важно только в том случае, если у вас есть более важные дела с этим ЦП.
Кстати - имейте в виду, что вам не следует беспокоиться о потреблении ЦП, если только он не потребляется и не делает что-то полезное или делает недостаточно, потому что у вас есть больше дел.
100% расход cpu неплохо, желательно. Это означает, что для данной рабочей нагрузки вы бежите так быстро, как только можете. Наблюдайте за очередью ЦП, если она> 0, то вам нужно больше ЦП.
Использование <100% ЦП не очень хорошо, особенно когда вы пытаетесь выполнить работу. Имейте в виду, что ЦП - это временной ресурс. Неиспользованные циклы не могут быть сохранены и не имеют ценности, они просто представляют собой упущенные возможности для выполнения работы.
Оптимальная система показывает резервный процессор, только когда он не загружен.