kvm性能极致调优
kvm性能极致调优
波奇大帝虚拟机绑定 CCD0
在 Manjaro(或任意 Arch 系 Linux)中,如果你想把 AMD 9950X 的 CCD0(Core Complex Die 0)分配给虚拟机,CCD1 留给物理机,你可以通过内核参数 isolcpus
、nohz_full
、kvm
的 CPU pinning、QEMU 的 CPU 绑定等方式实现。
🧠 总体目标:
- ✅ 虚拟机绑定 CCD0(Core 0~7)
- ✅ 物理机只使用 CCD1(Core 8~15)
1️⃣ 查明 CPU 拓扑(确认哪些核心属于 CCD0 和 CCD1)
运行以下命令确认核对应的 CCD:
1 | lscpu -p=CPU,CORE,SOCKET,NODE |
典型输出例子:
1 | # CPU,Core,Socket,Node |
2️⃣ 设置 isolcpus(物理机隔离核心)
编辑你的 grub 配置:
1 | sudo nano /etc/default/grub |
找到:
1 | isolcpus=0-7,16-23 nohz_full=0-7,16-23 rcu_nocbs=0-7,16-23 mitigations=off |
isolcpus=0-7
:隔离 CCD0 给 VM 用,host 不调度这些核nohz_full=0-7
:减少 tick 调度干扰rcu_nocbs=0-7
:RCU 回调不在这些核上执行,提高实时性mitigations=off
是 Linux 内核启动参数,用来关闭 CPU 安全漏洞的缓解机制(Mitigations),以换取更高的性能。
1 | sudo update-grub |
重启系统:
1 | sudo reboot |