Как сделать виртуальный процессор
Всем привет. Виртуальное ядро? Что это? Виртуальное, значит вроде как ненастоящее что ли? Сегодня я постараюсь простыми словами рассказать что это значит, надеюсь понятно будет каждому начинающему пользователю))
Виртуальное ядро процессора — что это?
Дело в том, что процессор работает неидеально. Но сделать идеально — значит начинать все заново, не просто выпустить новый процессор, а вообще все заново, то что начинали лет 20-30 назад.
Поэтому создают технологии, которые ускоряют работу процессора. Одна из них — виртуальные ядра, они же потоки и они же технология Hyper-Threading (HT), это у Intel, а у AMD технология называется SMT (от англ. simultaneous multithreading).
Именно эта технология делает так, что одно физическое ядро представляется в системе как два виртуальных или два потока. Таких два потока — быстрее одного ядра, но медленнее двух настоящих ядер.
Поддержка виртуальных ядер определяется процессором, не все модели эту технологию поддерживают.
Заключение
Надеюсь выяснили — виртуальное ядро процессора, это поток. Когда проц поддерживает потоки — значит на 1 ядро идет 2 потока. Windows эти потоки видит как ядра. 4 ядерный процессор с потоками операционкой виден как 8 ядерный.
1 поток слабее 1 ядра. Но 2 потока — быстрее 1 ядра, но слабее 2 ядер. Результат — процессор с потоками или такими вот виртуальными ядрами начинает работать попросту быстрее.
Кстати потоки эти появились еще в Пентиум 4, а до этого были только в серверных процах.
Ребята, я надеюсь эта информация была полезной. Удачи вам и добра, берегите себя и до новых встреч!
С момента покупки 2600K я сразу отключил плюшку в виде HT, так как из-за нее приходилось завышать немного напряжение и соответственно повышалась температура и снижался разгон. Хотел давно проверить что я теряю, и теряю ли вообще?
С момента покупки 2600K я сразу отключил плюшку в виде HT, так как из-за нее приходилось завышать немного напряжение и соответственно повышалась температура и снижался разгон. Хотел давно проверить что я теряю, и теряю ли вообще?
Вкратце, технология Hyper-Threading (HT)делает из одного физического ядра два виртуальных, или к одному физического ядру плюсует одно виртуальное, кому как угодно. Intel использует эту технологию уже очень давно, она появилась еще в процессорах Pentium 4. Сегодня, она есть почти во всех мобильных процессорах Intel, и это позволяет двухядерникам показывать отличные результаты.
но суть в том что эти два виртуальных ядра вроде как быстрее одного, но медленнее двух физических. В синтетике HT и правда очень повышает циферки, прирост порой доходит до 50%. Но в реальных приложениях не все так красиво как на рекламных картинках.
Winrar
Запустим упаковку с максимальным сжатием
Почти на 30% быстрее пакует 2600K с HT, достойно
Вернемся к играм, итак, 4ядра 3.5ггц Sandy bridge способны спокойно раскрывать видеокарты, которые дают по 80-100fps в играх, Но это на идеально чистом компе, без антивирусов и прочего мусора, это на Windows, которая имеет всего 30 процессов в диспетчере задач, но если на компе запустить несколько фоновых задач? Например фильмец в разрешении 4K на второй монитор и музыку, ЦП загружен примерно на 30%, разгоняем по максимуму видеокарту GTX660Ti до 1280MHz|7600, даже смешно, 80MHz это теперь норма для разгона:) ставим разрешение 1280x720, настройки делаем на ультра чтобы процессору не было легко и рассмотрим подробно одну игру на примере Watch dogs.
быстро рассмотрим конфигурацию компа:
2600K
P8Z77-V Deluxe
2x4GB DDR3 2133
GTX660Ti
Windows 8.1 x64 rus
вот мониторинг фона без запущенных игр на 3.5ггц и на 5ггц
Значит так, отталкиваться будем от результата, полученного на частоте 5ггц и чистым фоном. Так вот, имеем в итоге 80fps. Теперь с запущенным фильмом и музыкой проделываем тоже самое на частоте 3.5 и 5.0 ггц с откл. и вкл. HT.
5.00GHz noHT
если сравнивать 3.5ггц с HT и 5ггц без HT то на 5ггц игра идет еще чуть плавнее, средний fps чуть подрос до 70. загрузка гпу еще более ровная чем раньше. Интересно что процессор на 5ггц загружен больше чем на 3.5ггц…
5.00GHz HT
В этом режиме игра идет почти также, как будто фон чистый, рывки очень редко но все-таки они есть. fps 77. Вот как должен работать современный процессор)) кстати опять 5ггц загружен сильнее чем 3.5ггц
Сведем данные в диаграмму, 30% это примерная загрузка ЦП перед замером.
самый большой буст произошел на частоте 3.5ггц. HT почти на 40% подняла средний fps, шикарно. Но повторюсь опять же, на чистом фоне на частоте 3.5ггц без HT я получил почти те же 80fps что и при 5ггц. Возьмем два результата 3.5ггц с HT и 5 ггц без HT, исход почти одинаковый, но на 5ггц игра идет чуть плавнее, но я бы оставил 3.5ггц с HT, ведь для этого можно даже понизить заводское напряжение, и система получится почти бесшумной, а на 5ггц придется подать около 1.45V и повысить обороты кулера для эффективного охлаждения, что приведет к повышенному шуму.
приведу еще несколько тестов, но не так подробно, принцип такой же.
главные соперники тут опять 3.5ггц с HT против 5ггц без HT, и тут HT обгоняет 4 физических ядра на большей частоте.
Я уже было начал думать что во всех играх так будет, но нет GTAIV реагирует на частоту а не на виртуальные ядра.
Интересно что на 30% фоне и частоте 5ггц удалось достичь производительности чистого фона
Добавлю еще одну игруху, Crysis 3.
Наблюдается больше зависимость от частоты, нежели от HT, но и виртуальные ядра тут лишними не будут.
В заключении могу сказать что HT если и не улучшает игровой процесс, то точно не ухудшает его, хоть это радует. Если у вас загаженный комп, или стоят несколько антивирусов O_o то можно включить HT, впринципе от нее толк есть, но если у вас чистый и прозрачный как слеза младенца:) фон, то HT практически ничего не дает. Я лично ей не пользуюсь, если только в sony vegs.
Подпишитесь на наш канал в Яндекс.Дзен или telegram-канал @overclockers_news - это удобные способы следить за новыми материалами на сайте. С картинками, расширенными описаниями и без рекламы.
Немногие из рядовых пользователей компьютера знают, что есть целый вид программ, позволяющих имитировать операционные системы. Причём как мобильные (для смартфонов и планшетов), так и традиционные (для компьютеров и ноутбуков). В этой статье мы кратко рассмотрим, для чего нужны такие программы и что они умеют.
Немногие из рядовых пользователей компьютера знают, что есть целый вид программ, позволяющих имитировать операционные системы. Причём как мобильные (для смартфонов и планшетов), так и традиционные (для компьютеров и ноутбуков). В этой статье мы кратко рассмотрим, для чего нужны такие программы и что они умеют.
реклама
Эмуляторы мобильных ОС используются геймерами и разработчиками игр. Первые получают возможность использовать в мобильных играх мышь и клавиатуру, а также контроллеры Xbox и PlayStation, и играть на большом экране монитора. А вторые могут в комфортных условиях тестировать игры на рабочем компьютере, не используя смартфон или планшет.
Виртуальное ядро процессора — как работает?
На самом деле все просто. Процессор работает себе, трудится, все хорошо. Но в работе могут быть паузы, например:
- Произошел промах при запросе к кэшу.
- Неверное предсказание события.
- Ожидание результата предыдущей инструкции.
Это примерные причины, по которым процессор может простаивать доли секунды, скорее всего они вам непонятны, но вы не обращайте внимание)) Даже доли секунды в процессорном времени — это значительно, особенно если таких простоев много. Что делать? Все просто. Изначально все что выше написано — делается на одном ядре, а точнее на одном потоке. Но при наличии технологии виртуальных ядер — процессор не будет останавливаться, а просто в это время передаст управление другому потоку, который тоже выполняет определенную работу.
Простыми словами, когда 2 потока на 1 ядре — то технология старается загрузить процессор по полной, если какие-то простои, ожидания ответа, еще что-то — в это время будет работать второй поток, в итоге процессор может больше обработать данных.
На практике в некоторых программах, например сжатие данных — результат хорошо заметен. В некоторых играх например эффекта нет, а иногда даже хуже. Почему? Потому что потоки система видит как ядра, ну это хорошо, но только 1 поток слабее 1 ядра. Если задача нетребовательная — то лучше чтобы она выполнялась ядрами, а не потоками. С потоками хорошо умеют работать современные игры.
Вот примерный принцип как работают потоки:
Также технология потоков увеличивает нагрев процессора именно по той причине что он может теперь больше обрабатывать данные. Насколько? Ну примерно на 30-50%. Но в современных процессорах это значение может быть выше.
Кстати, используя простую бесплатную утилиту CPU-Z можно узнать сколько в процессоре ядер и потоков:
Написано все внизу в графах Cores и Threads. CPU-Z это бесплатная крошечная утилита, нет рекламы и кажется можно даже не устанавливать, классная вещь, показывает краткую инфу о проце и про оперативную память (например год выпуска планки).
Потоки вообще можно отключить в биосе, вот например опция Hyper-threading:
У АМД все также, только опция называется SMT Mode (или немного иначе, зависит от материнки). PS: чтобы активировать опцию — нужно выбрать Enabled, ну а чтобы отключить — Disabled.
Виртуальная машина Windows 10 не видит все ядра
Если открыть диспетчер устройств Windows, можно убедится, что все выделенные ядра видны в качестве 8 отдельных виртуальных процессоров типа QEMU Virtual CPU version 2,5.
При этом в свойствах Windows 10 (Computer -> Properties) и в Task Manage видно, что на компьютере доступны только 2 процессора QEMU Virtual CPU.
То есть сколько бы вы не добавили виртуальных ядер, Windows 10 все равно сможет использовать только два. При этом соседний виртуальный сервер с Window Server 2016 на этом же гипервизоре видит все 16 выделенных ему vCPU.
Количество поддерживаемых процессоров в Windows 10
Проблема заключается в том, что в десктопных редакциях Windows (Windows 10/8.1/7) есть ограничение на максимальное количество физических процессоров (сокетов), которое компьютер может использовать:
- Windows 10 Home – 1 CPU
- Windows 10 Professional – 2 CPU
- Windows 10 Workstation – до 4 CPU
- Windows Server 2016 – до 64 CPU
Однако это ограничение не распространяется на ядра. Т.е. для повышения производительности вы можете использовать процессор с большим количеством ядер. Большинство гипервизоров умеют предоставлять vCPU в виде процессоров, процессорных ядер или даже потоков. Т.е. вместо 8 виртуальных CPU вы можете предоставить vCPU в виде 2 сокетов по 4 ядра в каждом. Рассмотрим, как в различных системах виртуализации выделить виртуальные процессоры в виде ядер и как это связать с архитектурой NUMA, использующейся в современных процессорах.
Архитектура NUMA и виртуальные vCPU
Есть еще несколько аспектов назначения vCPU и ядер виртуальным машинам, которые нужно понимать.
При назначении ядер на сокете учитывайте наличие NUMA архитектуры (используется в большинстве современных CPU). Не рекомендуется назначать вашей ВМ количество ядер на сокет (и общее количество vCPU) больше, чем доступно ядер на вашем физическом сокете/процессоре (ноде NUMA). При размещении на одной физической ноде NUMA, виртуальная машина сможет использовать быструю локальную RAM, доступную на конкретной ноде NUMA. Иначе для выполнения операции процессам придется ждать ответа от другой ноды NUMA (что несколько более долго).
Если вы назначаете для ВМ два отдельных виртуальных сокета, то гипервизор может их запускать на разных нодах NUMA. Что не лучшим образом скажется на производительности ВМ.
Если количество требуемых vCPU превышает количество ядер на 1 физическом сокете (ноде NUMA), нужно создать несколько виртуальных сокетов (процессоров) с необходимым количество ядер. Также не желательно использовать нечетное количество процессоров (лучше добавить 1 vCPU)
Это позволит сохранить производительность виртуальной машины.
Например, для 2 процессорного хоста с 10 ядрами (суммарно доступно 40 vCPU с учетом Hyper—Threading), при настройке vCPU для ВМ оптимально использовать такие конфигурации:
Требуемое количество vCPU | Количество виртуальных сокетов в настройках ВМ | Количество ядер на виртуальном процессоре в настройках ВМ |
1 | 1 | 1 |
…… | ||
10 | 1 | 10 |
11 | Не оптимально | |
12 | 2 | 6 |
…… | ||
20 | 2 | 10 |
Например, ВМ с Microsoft SQL Server 2016 Enterprise Edition 16 vCPU в конфигурации 8 сокетов по 2 ядра будет работать хуже, чем в конфигурации 2 сокета по 8 ядер.
Также не забывайте, что некоторые приложения лицензируются по физическим сокетам (так было в старых версиях SQL Server). Иногда вам просто выгоднее лицензировать один многоядерный процессор, чем несколько процессоров с меньшим количеством ядер.
Современные версии Windows Server лицензируются в среде виртуализации по-особому. Также есть свои особенности лицензирования процессоров в VMWare vSphere.
Прежде, чем строить инфраструктуру на базе виртуализации, и, тем более – вводить ее в промышленную эксплуатацию, необходимо позаботиться о том, чтобы ресурсы системы использовались наиболее эффективно, и производительность была максимальной. В этом цикле статей я дам рекомендации о том, как оптимизировать систему по производительности – как со стороны хоста, так и со стороны виртуальных машин.
Начнем с хоста
- Процессор
- Память
- Дисковая подсистема
- Сетевая подсистема
Процессор – сердце компьютера
- Сколько ставить процессоров?
- Сколько нужно ядер?
- Их скоростные характеристики?
- Требуется больше лицензий на ПО – как на сами ОС, так и на ПО управления (SCVMM, SCCM, SCOM, etc.)
- Возрастают затраты на администрирование – три сервера вместо одного
- Три сервера потребляют больше энергии, а значит – выделяют больше тепла, и занимают больше места в стойке, чем один сервер, пусть и более мощный.
- Hyper-V Hypervisor Virtual Processor, % Total Run Time — этот счетчик отображает загрузку виртуальных процессоров. Можно задать отображение суммарной загрузки всех процессоров для запущенных виртуальных машин, а можно выбрать конкретный виртуальный процессор конкретной виртуальной машины.
- Hyper-V Hypervisor Root Virtual Processor, % Total Run Time – а этот счетчик показывает загрузку выбранных логических процессоров задачами, не связанными с Hyper-V.
Памяти много не бывает
- Сколько виртуальных машин будет запущено, и сколько памяти им понадобится? Объем памяти, необходимый каждой виртуальной машине зависит от задач, которые она будет выполнять. Подход тот же самый, что и для обычных серверов, но память виртуальным машинам можно выделять более гибко – не 1024 Мб, а, к примеру, 900 Мб.
- Хостовой ОС тоже нужна память. Рекомендуется оставлять как минимум 512 Мб свободной памяти на нужды гипервизора и самой хостовой ОС. Если объем свободной памяти опустится ниже 32 Мб – система не даст запустить больше ни одной виртуальной машины, пока память не освободится. Кроме этого, в хостовой ОС могут выполняться какие-то другие задачи, помимо виртуализации. Хотя это и крайне не рекомендуется, но факт все же имеет место быть, и это необходимо учитывать.
- Другие виртуальные машины (для сценариев Live Migration). Если инфраструктура планируется на базе отказоустойчивого кластера, то необходимо на каждом из хостов предусмотреть дополнительные объемы памяти. Дело в том, что виртуальные машины могут перемещаться с одного хоста на другой в случае ручного перемещения (Live Migration), или же в случае отказа одного из хостов. Если на хосте будет недостаточно памяти для запуска перемещаемых виртуальных машин – то они попросту не смогут на нем запуститься. Поэтому на этапе проектирования надо предусмотреть «неприкосновенный запас» в размере 50-100% от необходимого объема памяти. Возможно, ситуация немного улучшится с выходом Windows Server 2008 R2 SP1, в который входят технологии динамического распределения памяти, но точно я смогу сказать лишь тогда, когда сам это протестирую.
Жесткие диски: сколько их надо?
- RAID 0 – «массив с чередованием». Информация пишется блоками («страйпами») одновременно на несколько дисков. Благодаря этому чтение и запись больших объемов информации происходит значительно быстрее, чем с одного диска, и тем быстрее, чем больше дисков в массиве. Но есть один большой недостаток: низкая надежность. Выход из строя любого из дисков приведет к полной потере информации. Поэтому на практике RAID 0 используется достаточно редко. Один из примеров – промежуточное хранилище резервных копий в модели «Disk-to-disk-to-tape», когда надежность не так важна, как быстродействие.
- RAID 1 – «зеркалирование». При такой модели информация записывается одновременно на несколько дисков, причем содержимое всех дисков абсолютно идентично. Скорость записи и чтения не выше, чем для одиночного диска, но намного выше надежность: выход из строя одного диска не приведет к потере информации. Недостаток лишь один: высокая стоимость – там, где хватает и одного диска – приходится ставить два и более. Смысл имеет в тех случаях, когда надежность имеет решающее значение.
- RAID 4 и RAID 5 – «чередование с контролем четности». Предстваляет собой некую «золотую середину» между RAID 0 и RAID 1. Смысл состоит в том, что информация хранится на дисках как и в случае RAID 0 — блоками с чередованием, но помимо этого вычисляются контрольные суммы хранимых данных. В случае отказа одного из дисков – недостающие данные автоматически вычисляются по имеющимся данным и контрольным суммам. Разумеется, это приводит к снижению производительности, но в то же время данные не теряются, и при замене сбойного диска вся информация восстанавливается (этот процесс называется перестройкой массива). Потеря данных произойдет только при отказе двух и более дисков. Такие массивы отличаются тем, что скорость записи у них значительно ниже, чем скорость чтения. Происходит так из-за того, что при записи блока данных происходит вычисление контрольной суммы и запись ее на диск. RAID 4 и RAID 5 отличаются тем, что в RAID 4 контрольные суммы записываются на отдельный диск, а в RAID 5 – хранятся на всех дисках массива вместе с данными. В любом случае, для организации такого массива нужно N дисков для хранения данных плюс один диск. В отличие от RAID 1 и RAID 10, где количество дисков просто удваивается.
- RAID 6 – он же RAID DP, double-parity, двойная четность. То же самое, что и RAID 5, но контрольные суммы вычисляются два раза, с использованием различных алгоритмов. Хотя дисков здесь требуется уже не N+1, как с RAID 5, а N+2, зато такой массив может пережить даже одновременный отказ двух дисков. Встречается относительно редко, как правило – в системах хранения данных Enterprise-уровня, к примеру – NetApp.
- RAID 10 – «гибрид» RAID 0 и RAID 1. Представляет собой RAID 0 из нескольких RAID 1 (и тогда называется RAID 0+1) или наоборот – RAID 1 из нескольких RAID 0 (RAID 1+0). Отличается наивысшей производительностью, как по записи, так и по чтению, но в то же время отличается и высокой стоимостью – так как дисков требуется в 2 раза больше, чем необходимо для хранения данных.
- Physical Disk, % Disk Read Time
- Physical Disk, % Disk Write Time
- Physical Disk, % Idle Time
- Physical Disk, Avg. Disk Read Queue Length
- Physical Disk, Avg. Disk Write Queue Length
Сетевая подсистема
- Сколько виртуальных машин будет запущено одновременно, и какова будет нагрузка на сеть?
- Какова пропускная способность сети?
- Используются ли системы хранения данных с интерфейсом iSCSI?
- Есть ли у сервера аппаратные средства удаленного управления, не зависимые от установленной ОС (к примеру – HP iLO или Dell DRAC)?
На уровне хоста
Для серверов, у которых нет аппаратных средств удаленного управления рекомендуется один из сетевых интерфейсов оставлять незадействованным в виртуальных сетях, исключительно для задач управления. Это сильно снизит риск ситуации, когда при чрезмерной утилизации или же из-за неправильных настроек сетевого интерфейса пропадает возможность удаленного управления сервером. Сделать это можно либо на этапе инсталляции роли Hyper-V, сняв галочку с одного из сетевых интерфейсов, либо же после инсталляции – удалив виртуальную сеть, привязанную к сетевому интерфейсу, который будет использоваться для управления.
Кроме этого, на уровне хоста прямо таки необходимо установить как можно более «свежие» драйверы для сетевых адаптеров. Это нужно для того, чтобы воспользоваться специальными функциями сетевых адаптеров – VLAN, Teaming, TCP Offloading, VMQ (при условии, что сами сетевые адаптеры это поддерживают – как правило, это специализированные серверные сетевые адаптеры).
Сетевые нагрузки
iSCSI
Если планируется использовать системы хранения данных с интерфейсом iSCSI – крайне рекомендуется выделить для работы iSCSI отдельный сетевой интерфейс, а то и два – для работы MPIO. Если LUN’ы будут монтироваться в хостовой ОС – то нужно просто оставить один или два интерфейса не привязанными к виртуальным сетям. Если же iSCSI-инициаторы будут работать внутри виртуальных машин – для них нужно создать одну или две отдельных виртуальных сети, которые будут использоваться исключительно для трафика iSCSI.
VLAN-тегирование
VLAN-тегирование (IEEE 802.1q) означает «маркировку» сетевых пакетов специальным маркером (тегом), благодаря которому пакет может быть ассоциирован с определенной виртуальной сетью (VLAN). При этом хосты, принадлежащие к разным VLAN, будут находиться в разных широковещательных доменах, хотя и подключаться физически к одному и тому же оборудованию. Виртуальные сетевые адаптеры в Hyper-V так же поддерживают тегирование VLAN. Для этого нужно зайти в свойства виртуального адаптера в настройках виртуальной машины и прописать там соответствующий VLAN ID.
Активное оборудование
Рекомендации для хостовой ОС
- Меньший объем обновлений
- Меньшая поверхность атаки для потенциальных злоумышленников
- Меньшая нагрузка на процессор и память в родительской партиции
Запуск других приложений в хостовой ОС
Запуск в гостевой ОС сторонних (не имеющих отношения к Hyper-V) приложений, а так же установка других серверных ролей помимо Hyper-V может привести к сильному падению производительности, а так же к снижению стабильности. Дело в том, что из-за особенностей архитектуры Hyper-V, все взаимодействие виртуальных машин с устройствами проходит через родительскую партицию. Поэтому высокие нагрузки или «падение в синий экран» в родительской партиции обязательно приведут к падению производительности или просто к «падению» всех запущенных виртуальных машин. Сюда же можно (и нужно) отнести антивирусное ПО. Нужно ли оно вообще на хосте, который не будет заниматься ничем, кроме, собственно, виртуализации – это, конечно, тот еще вопрос. Тем не менее, если антивирус все же установлен – первое, что необходимо сделать – исключить из списка проверки все папки, где могут находиться файлы виртуальных машин. В противном случае, при сканировании может замедлиться производительность, а если в каком-нибудь VHD-файле обнаружится что-то похожее на вирус – то при попытке лечения антивирусный пакет может испортить сам VHD. Подобные случаи наблюдались и с базами MS Exchange, и потому первая рекомендация – не ставить вообще на серверах Exchange файловые антивирусы, а если и ставить – то добавить папки с базами в исключения.
Рекомендации для виртуальных машин
Шаги, которые необходимы предпринять для повышения производительности самих виртуальных машин – зависят от приложений, которые будут на них выполняться. У Microsoft имеются рекомендации (best practices) для каждого из приложений – Exchange, SQL Server, IIS, и других. Аналогичные рекомендации существуют для ПО других вендоров. Здесь я дам лишь общие рекомендации, не зависящие от конкретного ПО.
Здесь будет рассказано, почему нужно устанавливать Integration Services в гостевой ОС, как упростить развертывание новых виртуальных машин с помощью библиотеки VHD, и как поддерживать эти VHD в актуальном состоянии с выпуском новых патчей.
Сервисы интеграции
- Windows 2000 Server SP4
- Windows Server 2003 SP2
- Windows Server 2008
- Windows XP SP2, SP3
- Windows Vista SP1
- SUSE Linux Enterprise Server 10 SP3 / 11
- Red Hat Enterprise Linux 5.2 – 5.5
- IDE-контроллер – заменяет собой эмулируемый IDE-контроллер, что повышает скорость доступа к дискам
- SCSI-контроллер – является полностью синтетическим устройством и требует для работы обязательной установки интеграционных сервисов. К каждому SCSI-контроллеру можно подключить до 64 дисков, самих контроллеров может быть до 4 на каждую виртуальную машину.
- Сетевой адаптер – имеет более высокую производительность, чем эмулируемый (Legacy Network Adapter), и поддерживает особые функции, такие, как VMQ.
- Видео и мышь – повышают удобство управления виртуальной машиной через ее консоль.
- Operating System Shutdown – возможность корректного завершения работы гостевой ОС без логина в нее. Аналогично нажатию кнопки Power на корпусе ATX.
- Time Synchronization – ясно из названия – синхронизация системного времени между хостовой и гостевой ОС.
- Data Exchange – обмен ключами реестра между гостевой и хостовой ОС. Таким образом, к примеру, гостевая ОС может определить имя хоста, на котором она запущена. Эта возможность доступна только для гостевых ОС семейства MS Windows.
- Heartbeat – специальный сервис, периодически отправляющий специальные сигналы, означающие, что с виртуальной машиной все в порядке. Если гостевая ОС по какой-то причине, например, зависнет – она перестанет отправлять Heartbeat, и это может служить сигналом, к примеру, для автоматической перезагрузки.
- Online Backup – представляет из себя VSS Writer, позволяющий в любой момент получить консистентную резервную копию данных виртуальной машины. При запуске резервного копирования через VSS приложения, запущенные на виртуальной машине автоматически сбрасывают данные на диск, и потому бэкап получается консистентным.
Sysprep: создаем мастер-образ
- Создать новую виртуальную машину
- Произвести установку ОС, сервисов интеграции, всех доступных обновлений системы и дополнительного ПО, если таковое необходимо
- Подготовить установленную ОС с помощью утилиты Sysprep, которая удалит информацию о пользователе, ключе продукта и уникальный идентификатор (SID).
Оффлайн-установка обновлений
- Виртуальная машина разворачивается на специальном, выбираемом с помощью SCVMM, хосте – так называемый maintenance host.
- Виртуальная машина запускается, и на ней производится установка всех необходимых обновлений.
- Виртуальная машина останавливается, и VHD-файл возвращается в библиотеку уже с установленными обновлениями.
Заключение
Я дал некоторые рекомендации по настройке хостов и самих виртуальных машин, позволяющей достичь оптимального уровня производительности. Буду надеяться, что для кого-то эта информация окажется полезной.
Настройка виртуальных процессоров и количества ядер в VMWare
Вы можете изменить способ презентации vCPU для виртуальной машины VMWare из интерфейса vSphere Client.
- Выключите ВМ и откройте ее настройки;
- Разверните секцию CPU;
- Изменим конфигурацию ВМ так, чтобы гостевая ОС видела 2 процессора по 4 ядра. Измените значение Cores per Socket на 4. Это означает, что гостевая ОС будет видеть два четырех –ядерных процессора (2 сокета по 4 ядра);
- Сохраните изменения и запустите ВМ.
Эмуляторы ПК (виртуальные машины) для компьютеров
Аналогичные программы есть и для традиционных операционных систем. Они используются как разработчиками ПО, так и системными администраторами для тестирования различных программ.
Виртуальных машин довольно много, но наибольшую известность получили всего несколько: Oracle VirtualBox, VMware Workstation, Hyper-V (ранее известная как Microsoft Virtual PC).
Для домашнего использования чаще всего применяется Oracle VirtualBox, поскольку она полностью бесплатная, имеет хороший перевод и довольно простой интерфейс и поддерживает большинство ОС, включая Андроид.
VMware Workstation, Hyper-V чаще применяются уже для рабочих задач. Так VMware Workstation имеет бесплатную версию VMware Workstation Player для домашнего применения, которая из-за ограниченного функционала не стала популярной. Зато платная профессиональная версия довольно часто используется для домашних нужд. В отличие от VirtualBox, VMware Workstation эмулирует интерфейс БИОС и большее количество версий Mac OS X. VMware Workstation позволяет хранить виртуальный диск в одном или нескольких файлах на выбор пользователя и по умолчанию выделяет под него целых 60 Гб.
Hyper-V уже встроена в Windows с 7 по 10, во все версии, кроме базовой и домашней. Находится в дополнительных компонентах и по умолчанию не установлена. Она ничем не уступает остальным программам, но многие пользователи Виндовс просто не знают о её существовании. Hyper-V имеет свои особенности, например: позволяет при создании виртуального ПК задать поколение ОС (Поколение 1 или 2), которое в дальнейшем будет неизменно. Ещё можно задать для виртуальной машины использование динамической памяти (при наличии свободной у реального ПК), когда выявляется нехватка ранее выделенной памяти.
Практическое применение для дома и обучения
Ещё будучи студентом, я использовал виртуальные машины для запуска старых игр, которые уже не работали на современных операционных системах, и для освоения сетевых программ. Работу с локальной сетью лучше всего начинать с виртуальных машин, позднее перейдя на управление старым ПК, который уже стал пишущей машинкой, а только потом переходить на реальные рабочие компьютеры. Позднее я применял виртуальные машины для изучения операционных систем семейства Линукс.
Также виртуальная машина бывает полезна перед покупкой б/у ПК для обучения школьника или студента. Например, ему нужно работать с несколькими программами, и он сомневается, потянет ли их тот или иной компьютер. Виртуальная машина позволит эмулировать железо данного ПК и выявить степень его пригодности для текущих задач. Аналогично можно воссоздать апгрейд старого ПК, замену жёсткого диска на SSD или добавление оперативной памяти.
Подпишитесь на наш канал в Яндекс.Дзен или telegram-канал @overclockers_news - это удобные способы следить за новыми материалами на сайте. С картинками, расширенными описаниями и без рекламы.
10.02.2020
itpro
Hyper-V, KVM, VMWare, Windows 10, Виртуализация
комментария 2
При создании виртуальных машин на различных гипервизорах (VMWare, KVM, Hyper-V и т.д.) вы можете обратить внимание, что иногда виртуальная машина может не видеть все выделенные ей виртуальные ядра (vCPU). В нашем случае виртуальной машине на KVM были выделены 8 vCPU, на нее установлена Windows 10. Однако Windows определяла эти ядра как отдельные процессоры, из которых можно использовать только 2 vCPU.
Управление виртуальными ядрами и vCPU в KVM
В моей виртуальной машине KVM c Windows 10, все назначенные виртуальные ядра считаются отдельными процессорами.
Выключите виртуальную машину:
Выведите текущую XML конфигурацию виртуальной машины KVM:
Нам интересен блок с описанием процессоров:
Как видим, у нас указано просто 8 vCPU. Изменим конфигурацию:
И после добавим:
- host-passthrough — режим эмуляции при котором на виртуальной машине будет показан физический процессор узла кластера (ноды).
- sockets='1' — указываем что процессор 1
- cores='4' — указываем, что процессор имеет 4 ядра
- threads='2' — указываем, что ядра у нас по 2 потока
Также в свойства системы теперь стал отображаться физический процессор хоста Intel(R) Xeon(R) Silver 4114 CPU, а не виртуальный.
Так нам удалось решить проблему с нагрузкой на ВМ, так как двух ядер не хватало для полноценной работы приложений.
Эмуляторы мобильных ОС (Андроид)
Наиболее популярная мобильная операционная система это Android, для неё существует больше десятка различных эмуляторов, например, Bluestacks, Nox App Player, Tencent Gaming Buddy, MEmu, LDPlayer, AndY, KoPlayer, Droid4X, YouWave. Половина из них поддерживает русский язык, но перед установкой рекомендую почитать описание и отзывы о программе, которую собираетесь использовать. Сам я пользовался Bluestacks и Nox App Player. По совместимости с играми и приложениями первая оказалась универсальней и оставил только её. На втором месте iOS (для гаджетов от компании Apple). Некоторые эмуляторы позволяют запускать несколько версий Андроида, это нужно, чтобы протестировать игры на смартфонах, которые уже не получают обновлений.
У некоторых симуляторов Андроида есть собственный магазин приложений, адаптированных под работу на ПК, например: Bluestack и LDPlayer. Другие заточены под конкретную игру, например Tencent Gaming Buddy изначально создавался именно под PUBG, совместим со всеми его дополнениями и имеет функционал, позволяющий запускать игру на старых ПК и ноутбуках, а на новых увеличивает частоту кадров и качество графики.
реклама
Другие эмуляторы писались больше для разработчиков приложений, и соответствуют реальному устройству Андроид, например AndY.
Существуют и устаревшие программы, такие как Droid4X, YouWave, обновления которых уже прекратились, но они до сих пор актуальны для старых приложений.
реклама
Также есть нестандартные решения, к примеру PrimeOS, которая устанавливается на отдельный раздел жёсткого диска, процесс её установки довольно сложный, используется в основном разработчиками мобильных приложений. Визуально отличается от остальных эмуляторов наличием меню Пуск и окон, как у Виндовс.
Другое нестандартное решение Bliss OS, это операционная система с открытым исходным кодом на базе Android, устанавливается как отдельная ОС и позволяет устанавливать себя на смартфоны и планшеты вместо Андроид. Её преимущество: отсутствие рекламных всплывающих окон и предустановленных приложений.
Настройки некоторых эмуляторов позволяют задавать число ядер центрального процессора, которые будет использовать программа, количество кадров в секунду (FPS), определить объём оперативной памяти, доступной эмулятору. А на случай проблем с совместимостью в играх, предусмотрено переключение режимов рендеринга графики с DirectX на OpenGL.
реклама
Практическое применение для дома
Я пользовался программой Bluestack для создания второго аккаунта в известной онлайн-игре, чтобы не вкладывать в неё деньги, и при этом быстро развиваться. Пробовал устанавливать WhatsApp на ПК во время ремонта смартфона. Сейчас я пользуюсь уже версией для браузера. Чтобы сын не портил зрение на маленьком экране и не сажал батарею телефона, ему на компьютер были установлены с помощью Bluestack программы со смартфона.
Читайте также: