Windows 10 оптимизация для виртуальной машины

Обновлено: 05.07.2024

Оптимизируем Windows для работы в виртуальных средах

Виртуализация сегодня находит широкое применение даже на небольших предприятиях и вполне закономерно встает вопрос об использовании ресурсов гипервизора. Если внимательно изучить настройки Windows, то можно прийти к выводу, что многие из них для работы в виртуальной среде избыточны, также, как и не нужны некоторые службы. И если на обычных ПК мы не тратим свое время на отключение ненужных компонентов ради пары десятков мегабайт оперативной памяти или процентов процессорного времени, то в условиях виртуальной среды из таких "мелочей" можно получить существенную экономию ресурсов.

Остается только один вопрос: как это лучше сделать? Настраивать каждую виртуальную систему вручную? К счастью компания VMWare предлагает в свободном доступе достаточно интересный инструмент VMware OS Optimization Tool который можно бесплатно скачать здесь. Несмотря на то, что основным предназначением данной утилиты является оптимизация настольных ОС для работы в среде VMware Horizon View (средства виртуализации настольных ПК), ее можно с успехом применять для любых виртуальных машин, работающих на любом гипервизоре.

По сути перед нами специальный "твикер", который производит тонкую настройку ОС для работы в роли виртуального рабочего стола (VDI) в виртуальной среде. Следует понимать, что такая оптимизация не увеличивает быстродействия, а направлена в первую очередь на экономию вычислительных ресурсов гипервизора, что не отменяет субъективного повышения комфортности работы - система становится более отзывчивой, производит меньше фоновых операций, которые могли приводить к снижению скорости работы.

Работа с утилитой чрезвычайно проста, запускаем единственный файл и выбираем один из доступных для нашей ОС профилей, после чего вам будет предложен список изменений с кратким пояснением по каждому из них. Несмотря на то, что русский язык отсутствует, сложностей возникнуть не должно, хороший специалист как минимум должен обладать английским на уровне "читаю со словарем", а большего здесь и не требуется.

vmware-optimization-tool-001.jpg

Можно, конечно, сразу нажать кнопку Optimize, но следует помнить, что встроенные профили предназначены для достаточно узкой задачи и не все предлагаемые изменения могут быть полезны именно вам. Поэтому не поленитесь хотя бы бегло просмотреть список, чтобы потом не удивляться неожиданно странному поведению системы. Помните, что это всего лишь инструмент, который с одинаковым успехом может привести как к положительному, так и к отрицательному результату. Проще говоря, молотком можно забить гвоздь, а можно отбить пальцы. Но разве молоток в этом виноват?

Предлагаемые настройки не догма и то, что подходит VMWare может не подходить лично вам. Например, довольно спорные опции отключения UAC и Windows Update.

vmware-optimization-tool-002.jpg

Но не бойтесь экспериментировать. В случае, если что-то пойдет не так вы всегда сможете выполнить откат внесенных изменений.

vmware-optimization-tool-003.jpg

Обратите внимание, что разные шаблоны предлагают различные варианты оптимизации, поэтому не поленитесь внимательно изучить все предлагаемые варианты, а также не спешите применять к системе первый попавшийся шаблон.

vmware-optimization-tool-004.jpg

На скриншоте выше ясно видно, что если VMWare (справа) предлагает довольно взвешенный подход, то LoginVSI гораздо более радикальны, предлагая, между прочим, удаление современных приложений из Windows 10. В общем здравый смысл и разумная осторожность вам не помешают.

Если десктопные настройки в первую очередь преследуют цель экономии ресурсов, то серверные также повышают стабильность системы и ее безопасность, например, включают автоматическое завершение зависших задач и задают соответствующие таймауты.

vmware-optimization-tool-005.jpg

Итак, вы просмотрели все имеющиеся шаблоны и ни один из них вас полностью не устраивает. Самое время создать собственный шаблон, тем более что для этого есть все возможности. Однако прежде мы советуем ознакомиться с шаблонами от сообщества, откуда можно почерпнуть интересные идеи, для этого достаточно перейти на закладку Public Templates и скачать любой понравившийся шаблон.

vmware-optimization-tool-006.jpg

Для создания собственного шаблона откройте раздел My Templates, выберите шаблон, который вы желаете взять за основу и нажмите Copy and Edit.

vmware-optimization-tool-007.jpg

Теперь можно приступать к воплощению собственных идей, вы не только можете редактировать уже имеющиеся настройки, но и создавать свои собственные. Доступны операции с реестром, службами, выполнение произвольных команд и управление планировщиком заданий.

Подобные возможности открывают гораздо более широкие перспективы применения утилиты, нежели виртуальные среды. Никто не мешает создать шаблоны на все случаи жизни и применять их по мере необходимости.

К сожалению, работа с шаблонами построена в утилите не совсем прозрачно, так, например, кнопка Export Template создает html-файл с описанием настроек, а Import Template требует xml-файл. Поэтому нам пришлось самостоятельно разобраться в этом вопросе, благо это несложно.

Пользовательские шаблоны автоматически сохраняются в директорию:

Имена xml-файлам присваиваются автоматически на основании id шаблона, их следует скопировать и впоследствии использовать для импорта. Также можно присвоить им собственные, понятные наименования.

Здесь иной читатель может пожать плечами и сказать, мол все это умеет любой "твикер", зачем нужна еще одна программа. Действительно зачем, что выгодно отличает VMware OS Optimization Tool от иных аналогичных программ, если не брать во внимание уже готовые шаблоны для виртуальных машин?

Главным достоинством этой утилиты мы считаем максимально открытый формат шаблонов. Мы нисколько не умаляем достоинств иных программ и качество их исполнения, но вы можете точно сказать, что именно делает, например, эта настройка?

vmware-optimization-tool-009.jpg

А в случае инструмента от VMWare вам доступна самая подробная информация:

vmware-optimization-tool-010.jpg

Да, вы можете доверять автору "твикера", особенно если он вас не подводил, но возможность посмотреть вносимые в систему изменения значат гораздо больше любого доверия. Особенно если вы сомневаетесь в назначении той или иной опции.

Ну и напоследок об эффективности. Утилита показывает нам достаточно привлекательные диаграммы, которые отражают степень уплотнения виртуальных машин после проведения оптимизации, но лучше один раз увидеть, чем сто раз услышать. Мы взяли одну из виртуальных машин в нашей тестовой лаборатории и проанализировали ее состояние сразу после загрузки (повторив процесс три раза, для достоверности результата).

vmware-optimization-tool-013.jpg

Результат, как говорится, налицо. Во-первых, больше нет фоновых процессов, нагружающих ЦП, пропала высокая дисковая активность после загрузки и уменьшились аппетиты относительно ОЗУ. Субъективно работа с системой стала также более комфортной.

Поэтому мы можем смело рекомендовать данную утилиту к применению, при этом хочется отметить, что VMware OS Optimization Tool является не только средством оптимизации виртуальных машин, но может быть эффективно использован для тонкой настройки любых систем под управлением ОС семейства Windows.

В данной статье мы рассмотрим несколько способов повышения производительности виртуальной машины VMware Workstation, Oracle VirtualBox, Microsoft Hyper-V или любой другой. Виртуальные машины довольно требовательны к характеристикам компьютера, ведь во время их работы на ПК одновременно запущено несколько операционных систем. Как результат, виртуальная машина может быть значительно медленнее основной операционной системы или вообще работать с притормаживанием.

В данной статье мы рассмотрим несколько способов повышения производительности виртуальной машины VMware Workstation , Oracle VirtualBox, Microsoft Hyper-V или любой другой.

Динамический или фиксированный виртуальный жесткий диск?

Создавая виртуальную машину, можно создать два разных типа виртуальных жестких дисков. По умолчанию виртуальная машина использует динамический диск, который занимает необходимое место на физическом носителе информации и увеличивается лишь по мере заполнения.

Например, создавая виртуальную машину с динамическим диском в 30 ГБ, он не займёт сразу же 30 ГБ жесткого диска компьютера. После установки операционной системы и необходимых программ его размер будет порядка 10-15 ГБ. Лишь по мере добавления данных, он может увеличиться до 30 ГБ.

Это удобно с той точки зрения, что виртуальная машина будет занимать на жестком диске место, которое пропорционально объёму хранимых на ней данных. Но, работа динамического жесткого диска медленнее фиксированного (иногда также называют распределённым).

Создавая фиксированный диск, все 30 ГБ на жестком диске компьютера будут выделены под диск виртуальной машины сразу же, независимо от объёма хранимых на нём данных. То есть, фиксированный жесткий диск виртуальной машины занимает больше места жесткого диска компьютера, но сохранение или копирование файлов и данных на нём происходит быстрее. Он не так сильно подвержен фрагментации, так как пространство под него выделяется максимально большим блоком, вместо того, чтобы добавляться маленькими частями.

Установка пакета инструментов виртуальной машины

После установки на виртуальную машину гостевой операционной системы, первое, что необходимо сделать – это установить пакет инструментов или драйверов вашей виртуальной машины, например: VirtualBox Guest Additions или VMware Tools. Такие пакеты содержат драйвера, которые помогут гостевой операционной системе работать быстрее.

Установить их просто. В VirtualBox, загрузите гостевую операционную систему и выберите Устройства / Подключить образ диска Дополнительной гостевой ОС… После чего запустите установщик, который появится как отдельный диск в папке «Этот компьютер» гостевой операционной системы.

В VMware Workstation, выберите меню Виртуальная машина / Установить паке VMware Tools… После чего запустите установщик, который появится как отдельный диск в папке «Этот компьютер» гостевой операционной системы.

Добавьте папку с виртуальной машиной в исключения вашей антивирусной программы

Антивирусная программа кроме прочих, также сканирует файлы виртуальной машины, что снижает её производительность. Но дело в том, что антивирусная программа не имеет доступа к файлам внутри гостевой операционной системы виртуальной машины. Поэтому такое сканирование бессмысленно.

Чтобы избавится от снижения производительности виртуальной машины, можно добавить папку с ней в исключения антивирусной программы. Антивирус будет игнорировать все файлы такой папки.

Активация Intel VT-x или AMD-V

Intel VT-x и AMD-V – это специальные технологии виртуализации, которые предназначены для обеспечения большей производительности виртуальных машин. Современные процессоры Intel и AMD, как правило обладают такой функцией. Но на некоторых компьютерах она автоматически не активирована. Чтобы её включить, необходимо перейти в BIOS компьютера и активировать её вручную.

AMD-V часто уже активирована на ПК, если поддерживается. А Intel VT-x чаще всего отключена. Поэтому, убедитесь в том, что указанные функции виртуализации уже активированы в BIOS, после чего включите их в виртуальной машине.

Больше оперативной памяти

Виртуальные машины требовательны к объёму доступной оперативной памяти. Каждая виртуальная машина включает полноценную операционную систему. Поэтому необходимо разделить операционную систему вашего ПК на две отдельные системы.

Microsoft рекомендует минимум 2 ГБ оперативной памяти для своих операционных систем. Соответственно, такие требования актуальны и для гостевой операционной системы виртуальной машины с Windows. А если планируется использование на виртуальной машине стороннего требовательного программного обеспечения, то для её нормальной работы оперативной памяти потребуется ещё больше.

В случае, если уже после создания виртуальной машины оказалось, что оперативной памяти для её нормальной работы недостаточно, то её можно добавить в настройках виртуальной машины.

Прежде чем делать это, убедитесь, что виртуальная машина отключена. Также, не рекомендуется предоставлять виртуальной машине более чем 50% физически присутствующей на компьютере виртуальной памяти.

Если, выделив для виртуальной машины 50% памяти вашего компьютера выяснилось, что она не стала работать достаточно комфортно, то возможно для нормальной работы с виртуальными машинами вашему компьютеру недостаточно оперативной памяти. Для нормальной работы любой виртуальной машины будет достаточно 8 ГБ оперативной памяти, установленной на основном ПК.

Выделить больше CPU

Основная нагрузка при работе виртуальной машины, приходится на центральный процессор. Таким образом, чем больше мощности центрального процессора виртуальная машина может занять, тем лучше (быстрее) она будет работать.

Если виртуальная машина установлена на компьютере с мульти-ядерным процессором, то в настройках виртуальной машины для неё можно выделить несколько ядер для её работы. Виртуальная машина на двух и более ядрах центрального процессора будет работать ощутимо быстрее чем на одном.

Установка виртуальной машины на компьютере с одноядерным процессором нежелательна. Работать такая виртуальная машина будет медленно и выполнение ею каких-либо задач будет не эффективным.

Правильные настройки видео

На скорость работы виртуальной машины могут также влиять настройки видео. Например, включение 2D или 3D-ускорения видео в VirtualBox, позволяет работать некоторым приложениям значительно быстрее. То же касается и возможности увеличения видеопамяти.

Но, как и в случае с оперативной памятью, многое зависит от видеоадаптера, который установлен на основном компьютере.

Виртуальная машина и SSD диск

Первым и лучшим усовершенствованием компьютера на сегодняшний день является установка на него SSD диска. Это ощутимо ускорит работу компьютера, а соответственно и установленной на нём виртуальной машины.

Некоторые пользователи устанавливают виртуальные машины на другой (HDD) диск своего компьютера, оставляя на SSD диске лишь основную операционную систему. Это делает работу виртуальной машины медленнее. Освободите место на SSD диске и перенесите виртуальную машину на него. Разница в скорости работы почувствуется с первых минут.

По возможности, не размещайте диски виртуальных машин на внешних носителях информации. Они работают ещё медленнее чем встроенный HDD диск. Возможны варианты с подключением виртуальной машины через USB 3.0, но о USB 2.0 и речи быть не может – виртуальная машина будет работать очень медленно.

Приостановка вместо закрытия

Когда вы закончили работать с виртуальной машиной, её можно приостановить вместо полного выключения.

Запуская приложение для работы с виртуальными машинами следующий раз, вы можете включить виртуальную машину таким же способом как обычно. Но она загрузится значительно быстрее и именно в том состоянии и с того места, на котором вы закончили работать прошлый раз.

Приостановка гостевой операционной системы очень похожа на использование гибернации вместо выключения ПК.

Улучшение производительности внутри виртуальной машины

Всегда необходимо помнить, что установленная на виртуальную машину операционная система мало чем отличается от той, которая работает на основном компьютере. Её работу можно ускорить, следуя тем же принципам и используя те же методы, которые актуальны для любой другой операционной системы.

Например, производительность системы увеличится если закрыть фоновые программы или те, которые автоматически запускаются при старте системы. На производительность системы влияет необходимость осуществления дефрагментации диска (если виртуальная машина расположена на HDD диске), и так далее.

Программы для работы с виртуальными машинами

Одни пользователи уверяют, что Oracle VirtualBox самый быстрый инструмент для работы с виртуальной машиной, для других – VMware Workstation или Microsoft Hyper-V . Но то, как быстро будет работать виртуальная машина на конкретном компьютере зависит от множества факторов: это и версия гостевой операционной системы, её тип, настройки системы и виртуальной машины, производительность самого компьютера, и пр. В любом случае, всегда можно испробовать другую программу.

Примечание: Данная статья демонстрирует вариант оптимизации, который заметно увеличивает производительность в конкретном случае. Представленные результаты тестирования не претендуют на точность, их основная цель продемонстрировать наличие эффекта от применения описываемых оптимизаций.

Содержание.

Вступление.

Windows 10 чрезвычайно тяжёлая ОС с множеством активных служб, вызывающих пилообразную нагрузку и огромное количество прерываний, поэтому без оптимизации работы виртуальной машины не обойтись.

Программы для тестирования.

Данный нехитрый набор достаточен для оценки производительности гостевой ОС Windows.

    — предназначена для измерения задержек прерываний. Чем выше задержки, тем сильнее проявляются «заикания», включая потрескивание звука. — тестирование производительности процессора. — тестирование 3D производительности. — тестирование 3D производительности.

Пример результатов тестирования без оптимизации.

Cinebench.


После оптимизации результат улучшится на

Unigine Superposition.


После оптимизации результат улучшится на

Unigine Valley.


После оптимизации результат улучшится на

Переключение процессора в режим производительности.

Зашкаливающие задержки прерываний выглядят подобным образом:


По моим наблюдениям, именно энергоэффективный режим работы процессора является ключевым источником проблем с производительностью и отзывчивостью виртуальной машины.

Настройка режима производительности процессора.

Потребуется переключить режим управления частотой процессора на performance. Тем самым хост будет предоставлять максимум производительности для виртуальной машины.

Вывести доступные режимы:

В выводе будет подобное:

Проверить режим работы процессора:

Скорее всего, в выводе будет ondemand — сбалансированный режим. Его необходимо переключить на режим performance.

Переключение можно осуществить следующей командой:

Вот и всё. С performance в гостевой ОС не будет заиканий и треска при проигрывании звука.


Важный нюанс для Ubuntu.

На момент 2021 года в Ubuntu и её деривативах всё ещё присутствует демон ondemand, который не следует путать с режимом управления частотой процессора. В стародавние времена он служил для динамичного управления энергосбережением, а ныне в нём нет надобности. Если этот демон включён, то после перезагрузки хоста вновь будет включен режим ondemand, а не ранее включенный performance.

Стоит проверить активен ли демон ondemand:

Если выключен, то вывод будет таким:

Если включен, то потребуется отключить следующим образом:

После этого режим performance не будет переключаться на ondemand после перезагрузки.

Предварительный результат улучшения производительности.

Только за счёт переключения режима управления частотой процессора удалось получить более 15% к производительности ядер для виртуальной машины:


Для 3D графики результат скромнее, но эффект хорошо заметен.

Было: 8695 очков. Стало: 8776.


Было: 3457. Стало: 3790.


Пример настроенной конфигурации.

Отключение memballoon.

По конфигурации начнём с конца и по совместительству самого простого.

Memballoon — специальный драйвер, который обеспечивает подкачку памяти для гостевой ОС, если исчерпывается выделенная память.

Для поддержки memballoon в Win10 нужен специальный драйвер, который лишний раз укажет на факт виртуализации, который так старательно маскировали в предыдущей статье. Ко всему прочему драйвер ранее вызывал проблемы при совместном использовании с vfio, служащего для проброса видеокарты. Поэтому оптимальнее выключить.

Отключение осуществляется через редактирования конфигурации виртуальной машины. Конфигурация membaloon находится в блоке devices:


По умолчанию блок с memballoon выглядит подобным образом:

Блок с выключенным memballoon выглядит так:


На этом по memballoon всё.

Настройка дисковых устройств.

Конфигурация дисковых устройств находится в блоке devices.

Пример настроенной конфигурации:


Разбор первой строки:

Разбор второй строки:

Разбор третьей строки:

Разбор четвёртой строки:

В пятой строке оптимальны значения по умолчанию.

Настройка SPICE.

В предыдущей статье для управления виртуальной машиной был выбран протокол SPICE. В данном случае виртуальная машина запускается на локальном компьютере, а по умолчанию конфигурация SPICE больше рассчитана для удалённого доступа. Поэтому следует настроить для локального применения.

По умолчанию конфигурация выглядит подобным образом:


Отключение прослушки сети и сжатия пакетов заметно снижает уровень задержек. Оптимизированная конфигурация выглядит так:


CPU Pinning — vcpupin.

Это прикрепление (pinning) потоков физического процессора к логическим ядрам виртуальной машины (vcpu). Благодаря прикреплению, обработка процессов виртуальной машины будет иметь несколько более высокий приоритет, что заметно снизит задержки прерываний. По умолчанию нагрузка логических ядер виртуальной машины распределяется между всеми потоками физического процессора. В виду того, что системе необходимо налету балансировать распределение ресурсов процессора между хостом и виртуальной машиной, время задержек прерываний для ряда задач может быть не оптимальным. Если наблюдается недостаточная отзывчивость гостевой ОС и проявляется потрескивание (заикание) звука, то стоит попробовать прикрепить потоки к логическим ядрам виртуальной машины.

Структура потоков процессора.

Перед прикреплением потоков к виртуальной машине необходимо ознакомиться со структурой логических ядер (потоков) физического процессора. У Intel и AMD она различается. В данном примере будет рассмотрен вариант с Intel.

Со структурой можно ознакомиться при выводе возможностей хоста с помощью утилиты virsh:

Будет отображён большой вывод с xml-структурой. В нём показаны возможности хоста в той же компоновке, как в xml-конфигурации виртуальной машины. Пример части вывода для системы с процессором Intel i7 6800K (12 логических ядер):


Информация о структуре потоков находится в блоке <cpus>:


В современных процессорах используется технология гиперпоточности. Её особенностью является то, что одно физическое ядро предстаёт в виде двух логических ядер (потоков), что позволяет распределить вычислительную нагрузку более оптимально.

В данной статье в качестве примера рассматривается Intel i7 6800K с шестью физическими ядрами, что с гиперпоточностью даёт двенадцать логических ядер (потоков). Каждое логическое ядро относится к конкретному физическому ядру. Отсчёт логических ядер начинается от 0.

Из иллюстрации следует, что для шести физических ядер (core_id) используется двенадцать логических ядер (cpu id), тем самым каждому физическому ядру родственны по два потока:

  1. Логическое ядро cpu относится к первому физическому ядру core_id=0, которому принадлежат потоки 0 и 6.
  2. Второе логическое cpu к физическому core_id=1 с потоками 1 и 7.
  3. Третье cpu core_id=2 с потоками 2 и 8.
  4. Четвёртое cpu core_id=3 с потоками 3 и 9.
  5. Пятое cpu core_id=4 с потоками 4 и 10.
  6. Шестое core_id=05 core_id=5 с потоками 5 и 11.
  7. Седьмое логическое ядро cpu снова относится к первому физическому ядру core_id=0 с теми же родственными потоками 0 и 6. Далее аналогично.
  8. Восьмое core_id=7 ко второму core_id=1.
  9. Девятое core_id=8 к третьему core_id=2.
  10. Десятое core_id=9 к четвёртому core_id=3.
  11. Одинадцатое core_id=10 к пятому core_id=4.
  12. Двенадцатое core_id=11 к шестому core_id=5.

Выглядит причудливо, но разобраться можно.

Примечание: Структура потоков у Intel и AMD отличается. У AMD они идут один за другим. Пример: первое физическое ядро — потоки 0 и 1; второе ядро — 2 и 3 и так далее.

Так же структуру потоков можно вывести следующей командой:

  • Столбец CPU перечислены номера (id) логических ядер. Отсчёт от 0.
  • CORE номера физических ядер, к которым относятся логические ядра. В виду того, что на одно физическое ядро приходится два логических ядра (потока), номер (id) в столбце повторяется.

Субъективно, такой вывод существенно менее очевиден, поэтому рекомендую первый метод.

Прикрепление потоков к виртуальным логическим ядрам виртуальной машины.

Прикреплённые потоки процессора не становятся изолированными для использования хост-системой. По умолчанию для логических ядер виртуальной машины (vcpu) задействованы все потоки хоста.

Для 8 логических ядер виртуальной машины это выглядит так:

Для снижение задержек прерываний рекомендуют оставить в пользу хоста первое физическое ядро с его двумя потоками, так как оно нагружено различными программами, выполняемыми в хост-системе.

Примечание: В старых версиях qemu-kvm для Windows-гостей рекомендовалось обратное — прикреплять потоки от начала. Это было связано с программными недоработками, приводившими к сильному падению производительности виртуальной машины с Windows. Но в поздних версиях qemu-kvm эта проблема устранена.

В данном случае рассмотрен вариант, в котором для хост-системы оставлено четыре потока:

  • Первое физическое ядро: 0 и 6.
  • Второе физическое ядро: 1 и 7.

Да, из-за сокращения числа задействованных потоков производительность будет несколько ниже, но в данном случае целью является снижение задержек прерываний.

Первые четыре потока двух физических ядер можно задействовать для эмулятора qemu (emulatorpin), чтобы его работа не занимала процессорное время ядер, прикреплённых к виртуальной машине. Подробности далее.

Прикрепление осуществляется в блоке cputune. Настроенная конфигурация выглядит так:


В данном примере для виртуальной машины выделено 8 потоков из 12.

Далее по аналогии.

На этом заканчивается самое соновное о прикреплении потоков физического процессора к логическим ядрам виртуальной машины.

Аппендикс об iothread.

В ряде публикаций можно увидеть прикрепление потоков для iothread. Это обработчик ввода-вывода для накопителей. В данном случае используется драйвер SATA, а iothread работает только с драйверами virtio-scsi и virtio-blk, поэтому в нём нет нужды.

Настройка планировщика.

Предпочтительным является режим FIFO (First In-First Out). Сразу стоит оговориться, что для ряда задач это может наоборот ухудшить время задержек прерываний, поэтому следует применять с осторожностью.

Настроенный вариант выглядит так:


Настройка таймеров.

Ознакомительный материал:

По умолчанию блок с таймерами имеет подобный вид:

Настройка.

Вывести доступные для использования системные таймеры:

В выводе будет подобное: tsc hpet acpi_pm

Проверить какой таймер используется хостом:

В выводе будет tsc.

Настроенный вариант имеет следующий вид:

Добавлены следующие строки:

По таймерам почти всё, остаётся ещё один момент.

Настройка hugepages.

Использование больших страниц для задач с интенсивной нагрузкой на оперативную память заметно улучшает производительность. Ключевым нюансом является то, что зарезервированная память будет изъята для использования хост-системой, поэтому крайне важно удостовериться, что оставшейся памяти достаточно для работоспособности.

Перед началом настройки стоит убедиться, что выделение больших страниц включено на уровне ядра:

Настройка конфигурации.

nosharepages не распределять выделенные страницы в пользу других запущенных виртуальных машин.

locked страницы, выделенные в пользу виртуальной машины, будут заблокированы для использования хостом. Чтобы вернуть память хосту, потребуется завершить работу виртуальной машины. Опция полезна для задач, выполняемых в режиме мягкого реального времени (требующих минимальных задержек прерываний).

Динамичное выделение больших страниц.

Позволяет выделять и освобождать страницы памяти на ходу, что очень полезно, если виртуальная машина используется периодически, а не регулярно.

К примеру, время от времени требуется запустить виртуальную машину, выполнить некие задачи и завершить её работу. В случае статичного выделения страниц, память не будет доступна для хоста, а с динамичным выделением можно освободить все ранее выделенные страницы, но есть важный нюанс.

Проблема может проявляться с выделением страниц объёмом на половину и более доступной памяти. Пример: всего 32 Гб, требуется выделить 8192 страницы по 2 Мб, но по факту система сможет выделить немногим более 6000.

Поэтому, если требуется гарантированное выделение страниц, его нужно осуществлять при старте системы, когда ещё нет фрагментации памяти. Такое выделение называется статичным, но о нём позже.

Проблему динамичного выделения больших страниц можно снизить следующими способами:

  1. Синхронизировать и сбросить страничный кэш, тем самым снизив фрагметацию.
  2. Попытаться выделить больше страниц, чем требуется по факту. Тем самым система будет агрессивнее выделять память, предоставив больше страниц.

Пример выделения динамичных больших страниц с синхронизацией и сбросом кэша.

Синхронизировать и сбросить кэшированные записи на накопитель:

Сбросить Page Cache, Dentry и Inode cache, что позволит выделить больше оперативной памяти в виде больших страниц:

Это не деструктивная операция. Будет сброшено лишь то, что не используется.

Скомпоновать память таким образом, чтобы свободная память была в смежных блоках, что снижает фрагментацию и позволяет выделить больше страниц:

Выделить 8192 страницы по 2 Мб, чтобы задействовать 16 Гб ОЗУ в пользу виртуальной машины:

Проверить сколько страниц было выделено фактически:

Статичное выделение больших страниц.

Чтобы избежать проблемы с не выделением всех запрашиваемых больших страниц из-за фрагментации памяти, их можно гарантированно выделить при старте хост-системы.

Выделение осуществляется через передачу значения специальному параметру ядра. Передать значение на старте системы можно посредством Grub. Для этого потребуется внести изменения в файл /etc/default/grub.

Необходимо добавить в строку GRUB_CMDLINE_LINUX_DEFAULT параметр hugepages=8192. Пример:

Затем обновить конфигурацию Grub:

Тем самым после перезагрузки системы будет выделено 8192 страницы по 2 Мб, что по итогу зарезервирует 16384 Мб оперативной памяти, но для использования хост-системой эта память будет недоступна, её сможет использовать только виртуальная машина.

По итогу выбор между динамичными и статичными большими страницами должен опираться на конкретный сценарий использования.

На этом завершается разбор основных вариантов оптимизации работы виртуальных машин с упором на виртуализацию ОС Windows 10.


Но! Вы можете стать первым. Поделитесь своим впечатлением о статье или задайте свой вопрос!

Рекламный блок

Подпишитесь на рассылку

Навигация

Облако тегов

Архив статей

Сейчас обсуждаем

img

glavred

Гость Сергей, Цитата: Гость Сергей Вопрос: можно ли как то превратить смартфон в диск

img

admin

прочие меры исчерпаны (кроме HDD>SSD и добавки памяти к 4 ГБ) вот именно это оживит ваш

img

admin

Добрый вечер. Всё же считаю, что вам нужен хороший ноутбук с настоящей видеокартой. В ценовом

456456

Админ, не подскажете, как сделать скрипт на удаление не всех, а только некоторых приложений в

andreus1948

Добрый вечер Админ. Это продолжение диалога начатого 16 ноября 2012 года в «рубрика1» - "Программа

RemontCompa — сайт с огромнейшей базой материалов по работе с компьютером и операционной системой Windows. Наш проект создан в 2010 году, мы стояли у истоков современной истории Windows. У нас на сайте вы найдёте материалы по работе с Windows начиная с XP. Мы держим руку на пульсе событий в эволюции Windows, рассказываем о всех важных моментах в жизни операционной системы. Мы стабильно выпускаем мануалы по работе с Windows, делимся советами и секретами. Также у нас содержится множество материалов по аппаратной части работы с компьютером. И мы регулярно публикуем материалы о комплектации ПК, чтобы каждый смог сам собрать свой идеальный компьютер.

Наш сайт – прекрасная находка для тех, кто хочет основательно разобраться в компьютере и Windows, повысить свой уровень пользователя до опытного или профи.

Читайте также: