Новости Статьи Российское ПО VMware Veeam StarWind vStack Microsoft Citrix Symantec События Релизы Видео Контакты Авторы RSS
Виртуализация и виртуальные машины

Все самое нужное о виртуализации и облаках

Более 6530 заметок о VMware, AWS, Azure, Veeam, Kubernetes и других

VM Guru / News / Большие страницы памяти и VMware Advanced Memory Tiering

Большие страницы памяти и VMware Advanced Memory Tiering

10/07/2026

Поддержите VM Guru!

USDT / TRC20, адрес: TCDP7d9hBM4dhU2mBt5oX2x5REPtq9QdU1




Пост:

Те, кто уже настраивает VMware Memory Tiering или только присматривается к этой технологии, наверняка задавались вопросом: что происходит с большими страницами памяти (Memory Large Pages)? Вопрос действительно важный, поскольку ответ на него влияет на планирование ёмкости и настройку виртуальных машин. Разберём эту тему подробно.

Немного контекста

Прежде чем переходить к особенностям поведения при многоуровневом хранении памяти, стоит кратко вспомнить, что такое большие страницы (Large Pages) и почему они важны. Архитектура x86 поддерживает три размера страниц: 4 КБ (малые страницы), 2 МБ и 1 ГБ. Два последних размера в совокупности называют «большими страницами». Размер страницы можно сравнить с номиналом купюр в кошельке: крупные купюры удобнее носить с собой, но с них сложнее давать сдачу. Большие страницы работают так же: они снижают нагрузку на TLB (Translation Lookaside Buffer) и уменьшают стоимость обхода таблиц страниц, что даёт потенциальный прирост производительности для нагрузок, интенсивно работающих с памятью. По умолчанию ESX использует страницы размером 2 МБ для виртуальной оперативной памяти гостевых систем, и не случайно: выигрыш в производительности хорошо подтверждён.

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

Memory Tiering меняет правила игры

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

Алгоритм тиринга, встроенный в уровень управления памятью ESX, отслеживает «горячесть» и «холодность» каждой страницы. Активные страницы — рабочий набор виртуальной машины — остаются в Tier 0 (DRAM) для максимальной производительности. Холодные страницы при росте давления на память мигрируют в Tier 1 (NVMe). Всё это происходит интеллектуально, автоматически и не требует ручного вмешательства. Но есть нюанс: для качественной работы алгоритму необходим детальный контроль на уровне мелких блоков.

Как это влияет на большие страницы? Большая страница размером 2 МБ является атомарной единицей — переместить её половину на NVMe невозможно. Весь блок в 2 МБ перемещается целиком либо не перемещается вовсе. Это как пытаться точно регулировать температуру термостатом, который меняет её только с шагом в 10 градусов: работать будет, но без точности. При гранулярности 4 КБ движок тиринга способен принимать хирургически точные решения о том, какие именно страницы горячие, а какие холодные. Именно эта точность обеспечивает высокую эффективность Memory Tiering, поэтому по умолчанию используются малые страницы.

Три сценария размеров страниц

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

Малые страницы 4 КБ: полная оптимизация

Это оптимальный вариант. Производительность специально оптимизирована для страниц 4 КБ при активном Memory Tiering. Алгоритм тиринга работает с максимальной точностью: горячие страницы остаются в DRAM, а холодные плавно выгружаются на NVMe. ESX намеренно отключает большие страницы на уровне хоста, когда настроен Memory Tiering. Чтобы точно отслеживать и перемещать память без огромных накладных расходов на производительность, ESX возвращается к использованию стандартных базовых страниц 4 КБ для гостевой памяти. Работая на уровне 4 КБ с самого начала, движок тиринга ESX избавлен от необходимости постоянно разбивать крупные страницы, чтобы выяснить, какие данные реально используются.

Большие страницы 2 МБ: включение вручную, с оговоркой

Стандартная конфигурация vSphere предполагает включённые большие страницы 2 МБ (параметр Mem.AllocGuestLargePage установлен в 1), однако при активном Memory Tiering страницы 2 МБ по умолчанию не участвуют в тиринге.

Страница 2 МБ состоит из 512 отдельных страниц по 4 КБ. Допустим, 400 из них горячие и активно используются. В идеале такая большая страница должна целиком остаться в DRAM. Но это означает, что оставшиеся 112 холодных страниц тоже застревают в DRAM, хотя могли бы быть выгружены на NVMe. Эти 112 страниц представляют собой заблокированную ёмкость — и это лишь одна большая страница. Умножьте это на любое количество, и станет ясно, что тысячи холодных страниц могут остаться в DRAM вместо выгрузки на NVMe. При гранулярности 4 КБ движок тиринга освободил бы их, а при гранулярности 2 МБ — не может, поскольку перемещение половины большой страницы невозможно.

Чтобы использовать большие страницы 2 МБ вместе с Memory Tiering, необходимо явно задать VMX-параметр виртуальной машины: monitor_control.disable_mmu_largepages = "FALSE". После установки параметра машина попадает в общий пул многоуровневой памяти, и здесь начинается самое любопытное. Когда большие страницы включены, алгоритм тиринга проактивно разбивает часть больших страниц на основе определённых эвристик и либо выгружает холодные страницы из 2-мегабайтного региона, либо собирает его обратно в большую страницу.

В этом и заключается ключевое противоречие: большие страницы и тиринг тянут в противоположные стороны. Тиринг наиболее эффективен, когда может освобождать память с максимально мелкой гранулярностью, то есть 4 КБ. Большие страницы сознательно снижают эту гранулярность ради эффективности TLB. Эти два механизма фундаментально противоречат друг другу, и этот компромисс важно понимать до того, как включать большие страницы.

Страницы 1 ГБ: только DRAM, без исключений

Здесь действует жёсткое правило. Виртуальные машины, настроенные на использование страниц 1 ГБ, автоматически закрепляются за Tier 0 (DRAM) и никогда не будут использовать ёмкость NVMe Tier 1. Memory Tiering применяет это ограничение автоматически, поэтому никакой специальной настройки не требуется. Однако это необходимо учитывать при планировании ёмкости: такие машины следует рассчитывать исходя из доступного объёма DRAM, а не из общей ёмкости многоуровневой памяти. Их стоит выявить заранее.

Аспект TPS

Есть и вторичный эффект, который стоит понимать, особенно если для экономии памяти используется механизм Transparent Page Sharing (TPS). Как включение больших страниц в среде с тирингом влияет на TPS? Как выясняется, плохо.

TPS не дедуплицирует большие страницы напрямую. На современном оборудовании с Intel EPT или AMD RVI, использующем страницы 2 МБ, TPS и так малоэффективен: вероятность найти два идентичных региона по 2 МБ крайне низка, а их сравнение несёт существенные накладные расходы. Прежде чем TPS сможет дедуплицировать большие страницы, их нужно разбить на малые страницы 4 КБ, а это происходит только при определённых состояниях давления на память.

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

Итог

Memory Tiering идёт на осознанный компромисс: жертвует эффективностью TLB, которую дают большие страницы, в обмен на операционную точность, необходимую для интеллектуального размещения данных по уровням. Для большинства нагрузок этот обмен оправдан, тем более что задержки NVMe в Tier 1 продолжают снижаться.

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

  • Используйте страницы 4 КБ по умолчанию для виртуальных машин, которые должны получать выгоду от тиринга.
  • Выявляйте машины со страницами 1 ГБ на раннем этапе планирования ёмкости — они потребляют только DRAM.
  • Тщательно оценивайте машины с большими страницами 2 МБ: сначала тестируйте и не рассчитывайте на те же характеристики производительности, что в среде без тиринга.

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

Интересное:





Зал Славы Рекламодателя
Ближайшие события в области виртуализации:

Быстрый переход:
VMware Veeam Kubernetes VMachines Enterprise Offtopic Broadcom Microsoft Cloud StarWind NAKIVO vStack Gartner Vinchin Nakivo IT-Grad Teradici VeeamON VMworld PowerCLI Citrix VSAN GDPR 5nine Hardware Nutanix vSphere RVTools Security Code Cisco vGate SDRS Parallels IaaS HP VMFS VM Guru Oracle Red Hat Azure KVM VeeamOn 1cloud DevOps Docker Storage NVIDIA Partnership Dell Virtual SAN Virtualization VMTurbo vRealize VirtualBox Symantec Softline EMC Login VSI Xen Amazon NetApp VDI Linux Hyper-V IBM Google VSI Security Windows vCenter Webinar View VKernel Events Windows 7 Caravan Apple TPS Hyper9 Nicira Blogs IDC Sun VMC Xtravirt Novell IntelVT Сравнение VirtualIron XenServer CitrixXen ESXi ESX ThinApp Books P2V VCF Backup vSAN Operations Workstation VKS Avi esxtop Memory VMConAWS Private AI VMmark Certification NVMe AI vDefend VCDX Explore Tanzu Update Russian Ports HCX Live Recovery CloudHealth NSX Labs Chargeback Aria VCP Intel Community Ransomware Stretched Network VMUG VCPP Data Protection ONE V2V DSM DPU Omnissa EUC Skyline Host Client GenAI Horizon SASE Workspace ONE Networking Tools Performance Lifecycle AWS API USB SDDC Fusion Whitepaper SD-WAN Mobile SRM ARM HCI Converter Photon OS VEBA App Volumes Workspace Imager SplinterDB DRS SAN vMotion Open Source iSCSI Partners HA Monterey RDMA vForum Learning vRNI UAG Support Log Insight AMD vCSA NSX-T Graphics HCIBench SureBackup Docs Carbon Black vCloud Обучение Web Client vExpert OpenStack UEM CPU PKS vROPs Stencils Bug VTL Forum Video Update Manager VVols DR Cache Storage DRS Visio Manager Virtual Appliance PowerShell LSFS Client Availability Datacenter Agent Book Photon Cloud Computing SSD Comparison Blast Encryption Nested XenDesktop VSA vNetwork SSO VMDK Appliance VUM HoL Automation Replication Desktop Fault Tolerance Vanguard SaaS Connector Event Free SQL Sponsorship Finance FT Containers XenApp Snapshots vGPU Auto Deploy SMB RDM Mirage XenClient MP iOS SC VMM VDP PCoIP RHEV vMA Award Licensing Logs Server Demo vCHS Calculator Бесплатно Beta Exchange MAP DaaS Hybrid Monitoring VPLEX UCS GPU SDK Poster VSPP Receiver VDI-in-a-Box Deduplication Reporter vShield ACE Go nworks iPad XCP Data Recovery Documentation Sizing Pricing VMotion Snapshot FlexPod VMsafe Enteprise Monitor vStorage Essentials Live Migration SCVMM TCO Studio AMD-V Capacity KB VirtualCenter NFS ThinPrint Upgrade Troubleshooting Tiering VCAP Orchestrator ML Director SIOC Bugs ESA Android Python Hub Guardrails CLI Driver Foundation HPC Optimization SVMotion Diagram Plugin Helpdesk VIC VDS Migration Air DPM Flex Mac SSH VAAI Heartbeat MSCS Composer
Полезные постеры:

Постер VMware vSphere PowerCLI 10

Постер VMware Cloud Foundation 4 Architecture

Постер VMware vCloud Networking

Постер VMware Cloud on AWS Logical Design Poster for Workload Mobility

Постер Azure VMware Solution Logical Design

Постер Google Cloud VMware Engine Logical Design

Постер Multi-Cloud Application Mobility

Постер VMware NSX (референсный):

Постер VMware vCloud SDK:

Постер VMware vCloud Suite:

Управление памятью в VMware vSphere 5:

Как работает кластер VMware High Availability:

Постер VMware vSphere 5.5 ESXTOP (обзорный):

 

Популярные статьи:
Как установить VMware ESXi. Инструкция по установке сервера ESXi 4 из состава vSphere.

Типы виртуальных дисков vmdk виртуальных машин на VMware vSphere / ESX 4.

Включение поддержки технологии Intel VT на ноутбуках Sony VAIO, Toshiba, Lenovo и других.

Как работают виртуальные сети VLAN на хостах VMware ESX / ESXi.

Как настроить запуск виртуальных машин VMware Workstation и Server при старте Windows

Сравнение Oracle VirtualBox и VMware Workstation.

Работа с дисками виртуальных машин VMware.

Диски RDM (Raw Device Mapping) для виртуальных машин VMware vSphere и серверов ESX.

Где скачать последнюю версию VMware Tools для виртуальных машин на VMware ESXi.

Как перенести виртуальную машину VirtualBox в VMware Workstation и обратно

Что такое и как работает виртуальная машина Windows XP Mode в Windows 7.

Подключение локальных SATA-дисков сервера VMware ESXi в качестве хранилищ RDM для виртуальных машин.

Как поднять программный iSCSI Target на Windows 2003 Server для ESX

Инфраструктура виртуальных десктопов VMware View 3 (VDI)

Как использовать возможности VMware vSphere Management Assistant (vMA).

Интервью:

Alessandro Perilli
virtualization.info
Основатель

Ратмир Тимашев
Veeam Software
Президент


Полезные ресурсы:

Последние 100 утилит VMware Labs

Новые возможности VMware vSphere 8.0 Update 1

Новые возможности VMware vSAN 8.0 Update 1

Новые документы от VMware

Новые технологии и продукты на VMware Explore 2022

Анонсы VMware весной 2021 года

Новые технологии и продукты на VMware VMworld 2021

Новые технологии и продукты на VMware VMworld 2020

Новые технологии и продукты на VMware VMworld Europe 2019

Новые технологии и продукты на VMware VMworld US 2019

Новые технологии и продукты на VMware VMworld 2019

Новые технологии и продукты на VMware VMworld 2018

Новые технологии и продукты на VMware VMworld 2017



Copyright VM Guru 2006 - 2026, Александр Самойленко. Правила перепечатки материалов.
vExpert Badge