hostprofi.ru
Подобрать хостинг
Термин·буква О

Оверкоммит (overcommit)

краткое определение

Оверкоммит (overcommit) — выделение виртуальным машинам суммарно больше ресурсов (RAM, CPU, диск), чем физически доступно на сервере. Работает, пока не все ВМ используют выделенные ресурсы одновременно.

Оверкоммит (overcommit) — практика продажи или выделения виртуальным машинам больше ресурсов, чем физически существует на сервере-хосте. Основан на статистической предпосылке: не все арендаторы используют 100% выделенных ресурсов одновременно. Если 10 ВМ получили по 8 ГБ RAM (итого 80 ГБ), а на хосте 64 ГБ, то при одновременном потреблении 7–8 ГБ каждой ВМ система вступает в кризис — начинается свопирование и деградация производительности.

Оверкоммит CPU

Наиболее распространён. Если сервер имеет 16 физических ядер, провайдер может продать 64–128 vCPU (соотношение 4:1 или 8:1). Это работает, потому что большинство сайтов и приложений не нагружают CPU постоянно — средняя загрузка типичного VPS 5–15%. Агрессивный оверкоммит CPU (8:1 и выше) приводит к «шумным соседям» (noisy neighbors) — ВМ конкурируют за ядра процессора, и задачи с пиковой нагрузкой деградируют. CPU pinning — способ гарантировать конкретным ВМ реальные ядра.

Оверкоммит RAM

Сложнее, чем CPU. Память нельзя «нарезать время» так же легко. При нехватке физической RAM гипервизор прибегает к: memory ballooning — гипервизор просит ВМ вернуть неиспользуемую память, прозрачное сжатие страниц памяти (KSM — Kernel Same-page Merging) — идентичные страницы памяти разных ВМ объединяются, swap на диск — самый медленный вариант, убивающий производительность. Для баз данных и приложений с большим кэшем оверкоммит RAM крайне нежелателен.

Оверкоммит vs гарантированные ресурсы

Качественные VPS-провайдеры указывают, гарантированы ли ресурсы. «Гарантированные» означает: ВМ получает ровно столько ресурсов, сколько оплачено, вне зависимости от соседей. «Разделяемые» или отсутствие явного указания — признак оверкоммита. Bare-metal серверы и выделенные серверы по определению не имеют оверкоммита — все ресурсы принадлежат одному клиенту.

OpenVZ-хостинг традиционно агрессивнее использует оверкоммит, чем KVM — из-за лёгкости контейнеров и общего ядра. KVM-VPS с SLA на гарантированные ресурсы — более предсказуемый вариант.

История и стандарты

Понятие оверкоммита пришло из телекоммуникаций — провайдеры давно продавали пропускную способность с расчётом на то, что не все абоненты используют её одновременно. В виртуализации оверкоммит RAM впервые систематизировал VMware в ESX 2.0 (2003) через KSM и balloon driver. Amazon EC2 при запуске (2006) активно использовал оверкоммит для снижения затрат. С 2017 года AWS переходит на Nitro-архитектуру с более предсказуемым распределением ресурсов.

Как проверить наличие оверкоммита на VPS

Признаки оверкоммита CPU: высокий steal time в top (столбец st) — CPU stolen by hypervisor, что означает другие ВМ «ворующие» ваши vCPU. Значение steal > 5% указывает на проблему. Признаки оверкоммита RAM: активный swap (free -h показывает занятый swap), высокое значение kswapd в top — ядро активно свопирует страницы. OOM Killer убивает процессы — крайнее проявление нехватки памяти.

Как выбрать VPS без агрессивного оверкоммита

Читай SLA: «гарантированные ресурсы» vs «разделяемые». Проверяй steal time через бенчмарки (sysbench, stress-ng). Репутация провайдера: крупные провайдеры (DigitalOcean, Hetzner, Selectel) поддерживают умеренный оверкоммит CPU (2:1–4:1) и минимальный RAM. Бюджетные провайдеры за $1–3/мес. агрессивны. Bare-metal и dedicated серверы — единственный способ гарантированно избежать оверкоммита.

Другие термины