Пошаговая инструкция для пользователей 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-manager → CPU 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]