Пошаговая инструкция для пользователей libvirt + virt-manager
*Автор: @podobaylo (DE, 11 ноября 2025)*

---

Содержание

1. [Диагностика проблемы](#1)
2. [Почему Ryzen 7 5700G «душит» VM](#2)
3. [Апгрейд: Ryzen 9 5900X — идеальный выбор](#3)
4. [Подготовка системы](#4)
5. [Создание VM через virt-manager (2 шт. на 16 ГБ RAM)](#5)
6. [CPU Pinning и Hugepages](#6)
7. [Управление частотой CPU (cpupower)](#7)
8. [После апгрейда на 5900X](#8)
9. [Мониторинг и оптимизация](#9)

---

<a name="1"></a>

1. Диагностика проблемы

free -h          # → 14 GiB RAM
lscpu | grep -i cache
# L3: 16 MiB (1 экземпляр) → всего 2 MiB на ядро!

Признаки «душения» VM:

  • IO wait > 10 % при 2+ VM
  • Температура > 90 °C → throttling до 3.4 ГГц
  • cache-misses в perf > 30 %

---

<a name="2"></a>

2. Почему Ryzen 7 5700G «душит» VM

| Проблема | Причина |
|---------|--------|
| L3 = 16 MiB | 2 VM → 12 MiB working set → cache thrashing |
| TDP 65 Вт | 16 потоков → 90 °C → throttling |
| SMT (2 потока/ядро) | qemu любит физические ядра, не SMT |
| RAM 16 ГБ | 2 VM по 5 ГБ → swap или OOM |

---

<a name="3"></a>

3. Апгрейд: Ryzen 9 5900X — золотой стандарт KVM

| Параметр | 5700G | 5900X | Прирост |
|---------|-------|----------|--------|
| Ядер | 8 | 12 | +50 % |
| L3 кэш | 16 MiB | 64 MiB | +300 % |
| L3 на ядро | 2 MiB | 5.3 MiB | +165 % |
| All-core | 3.6 ГГц | 4.5 ГГц | +25 % |
| Цена (DE) | — | ~230 € | Mindfactory |

> Результат: 4 VM без лагов, 0 % IO wait.

---

<a name="4"></a>

4. Подготовка системы (одноразово)

# 1. Hugepages: 5 ГБ = 2560 × 2 МБ
echo 2560 | sudo tee /proc/sys/vm/nr_hugepages
echo 'vm.nr_hugepages = 2560' | sudo tee -a /etc/sysctl.d/99-hugepages.conf
sudo sysctl -p

# 2. Оптимальный governor
sudo cpupower frequency-set -g schedutil

---

<a name="5"></a>

5. Создание VM через virt-manager (на 16 ГБ RAM)

VM1: Windows 11 (6 ГБ, 4 vCPU)

1. New VM → ISO win11.iso
2. RAM: 6144 MiB | CPU: 4
3. Диск: 50 ГБvm-win11.qcow2
4. Customize → CPU

  • host-passthrough
  • Pinning: ядра 0,1,2,3
  • Emulator: ядро 6

5. Memory → Hugepages: ✅

VM2: Ubuntu (4 ГБ, 2 vCPU)

1. RAM: 4096 MiB | CPU: 2
2. Pinning: ядра 4,5 | Emulator: 7

---

<a name="6"></a>

6. CPU Pinning Map

| Ядро | 5700G | 5900X |
|------|-------|-------|
| 0–3 | VM1 | VM1 |
| 4–5 | VM2 | VM2 |
| 6–7 | emulator | VM3 |
| 8–11 | SMT — НЕ ТРОГАТЬ | VM4 |
| 12–23| — | SMT — НЕ ТРОГАТЬ |

> Никогда не используйте SMT (потоки 8–15 / 20–23)

---

<a name="7"></a>

7. Управление частотой CPU (cpupower)

| Режим | Команда | Когда |
|------|--------|------|
| Максимум | sudo cpupower frequency-set -g performance | Только при 3+ VM |
| Экономия | sudo cpupower frequency-set -g powersave | Простой |
| Оптимально | sudo cpupower frequency-set -g schedutil | Рекомендуется |

# Сделать постоянным
sudo nano /etc/default/cpupower
# governor='schedutil'
sudo systemctl restart cpupower

---

<a name="8"></a>

8. После апгрейда на 5900X

1. Замените CPU
2. Обновите BIOS (AGESA ≥ 1.2.0.7)
3. В virt-managerCPU Pinning → распределите до ядер 0–11
4. Добавьте VM3 (ядра 8–9) и VM4 (10–11)

---

<a name="9"></a>

9. Мониторинг

# Кеш
perf stat -e cache-misses,cache-references -a sleep 5

# Температура + частота
watch -n1 "sensors; grep MHz /proc/cpuinfo | sort -u"

# VM
virt-top

---

Итог: что вы получите

| Показатель | До | После 5900X |
|-----------|----|------------|
| Кеш на VM | 4–8 MiB | 16–32 MiB |
| IO wait | 10–30 % | <2 % |
| Частота | 3.4 ГГц | 4.5 ГГц |
| Кол-во VM | 1–2 | 4 без лагов |

---

Готово за 30 минут.
Следуйте инструкции — и ваши VM летают даже на 16 ГБ RAM.

> Автор: @podobaylo
> Дата: 11 ноября 2025
> Страна: Германия (DE)
> Цены: актуальны на Mindfactory/Alternate

*Поделитесь в X — помогите другим!*

[file-name 000283_2025-11-11_13-10-51.txt]