本文汇总社区里 PVE 性能调优经验,按收益/风险排序,给家庭实验室玩家一个稳妥清单。

1. 关闭 C-State 与电源节能

处理器 C-State 省电但会让虚拟机的 vCPU 唤醒延迟增加 50-200μs。grub 参数加 intel_idle.max_cstate=0 processor.max_cstate=0,BIOS 关 C-State。

2. 大页内存

大页(HugePages)让 KVM 用 2MB/1GB 页表,提升 TLB 命中率。计算并设置 hugepages:

# 8GB 内存里分 4GB 给大页
echo 2048 > /proc/sys/vm/nr_hugepages   # 2MB 页 × 2048 = 4GB
# 持久化
echo "vm.nr_hugepages=2048" >> /etc/sysctl.d/99-hugepages.conf

3. NUMA 绑定

家用单路主板没意义,但双路 EPYC / XEON 服务器必须做。开启 NUMA 后用 taskset + numactl 把 KVM 进程锁到本地节点:

numastat -p $(pidof qemu-system-x86_64)
# 确认 local_node hit rate > 95%
盲目调优反而可能把功耗拉满、性能不升反降。先用 perf stat / ftrace 找到瓶颈,再针对性调优。