Определение простыми словами
Hyper-Threading (HT) — фирменное название технологии симметричной многопоточности (SMT) от Intel. На каждом физическом ядре создаются два логических потока, которые делят между собой кэш, исполнительные блоки и регистры. Если один поток ждёт данные из памяти, второй сразу занимает свободные модули ядра, и время простоя сокращается.
Прирост производительности зависит от нагрузки: на чисто вычислительных задачах он близок к нулю, на смешанных — даёт 15–30%. Для веб-серверов и баз данных HT почти всегда заметен, потому что запросы постоянно ждут диск и сеть. Подробнее о ядрах рассказано в материале CPU, а о выделенной частоте — в гарантированной частоте CPU.
Сравнение
| Параметр | Без Hyper-Threading | С Hyper-Threading |
|---|---|---|
| Логические потоки на ядро | 1 | 2 |
| Прирост многопоточных задач | 0% | 15–30% |
| Накладные расходы планировщика | Минимальные | Выше из-за конкуренции за кэш |
| Уязвимости спекулятивного выполнения | Меньше векторов | L1TF, MDS требуют патчей |
Кейсы использования
- Виртуальный хостинг и контейнеры — сотни параллельных PHP-FPM воркеров эффективно делят ядра.
- Серверы баз данных MySQL и PostgreSQL — короткие транзакции хорошо переключаются между потоками.
- Сборка проектов и CI-раннеры — компиляция выигрывает от удвоения логических ядер.
- Негативный сценарий: финансовые расчёты с реальным временем и шифрование на одном ядре. Конкуренция за исполнительные блоки замедляет критичные операции, поэтому HT в HPC и трейдинговых стеках часто отключают.
Технические детали
lscpu | grep -E 'Thread|Socket|Core'
cat /sys/devices/system/cpu/smt/active
echo off | sudo tee /sys/devices/system/cpu/smt/control
grep -c processor /proc/cpuinfo
Команды показывают число потоков на ядро, текущий статус SMT и временно выключают Hyper-Threading без перезагрузки. На уровне BIOS/UEFI параметр обычно называется «Hyper-Threading Technology» или «SMT». Отключение помогает митигировать уязвимости класса side-channel, но снижает плотность контейнеров на VPS-узле.
🔥 Где это применяется
Частые вопросы
Hyper-Threading удваивает производительность?
Нет. Реальный прирост 15–30% на смешанных нагрузках. Удваивается лишь число логических ядер, а исполнительные блоки физического ядра остаются общими.
Стоит ли отключать HT на VPS?
На обычном веб-проекте — нет, плотность и отзывчивость пострадают. Отключают только при жёстких требованиях к безопасности или предсказуемой латентности.
Как понять, что хостер продаёт HT-потоки под видом ядер?
Сравните показатели lscpu: если Thread(s) per core = 2, значит часть ядер — логические. Уточняйте в тарифе количество физических ядер.