参考资料

  1. zorinos安装加速
  2. Office-Tool安装加速
  3. mirror.hs-esslingen.de - OpenBSD 软件镜像站
  4. SJTUTex.git安装加速
  5. nginx安装加速
  6. raven安装加速
  7. solusvm安装加速
  8. VSCodium安装加速

qemu.git安装加速

qemu.git 安装加速:从源码编译到 KVM 硬件加速

一、为什么选择 qemu.git 源码安装

发行版仓库中的 QEMU 版本往往滞后,功能裁剪较多,且难以精确控制编译选项。直接使用官方 `qemu.git` 源码安装,可以获得最新特性、按需裁剪目标架构、精确启用硬件加速后端。但源码编译耗时较长,因此“安装加速”包含两层含义:

  • 编译加速:缩短从 `git clone` 到可用二进制的构建时间;
  • 运行加速:启用 KVM 等硬件虚拟化后端,让虚拟机接近原生性能。

下面分步说明。

二、环境准备与依赖安装

Debian/Ubuntu: bash sudo apt update sudo apt install -y git build-essential ninja-build pkg-config \ libglib2.0-dev libpixman-1-dev libfdt-dev libslirp-dev \ zlib1g-dev libcap-ng-dev libattr1-dev ccache RHEL/CentOS: bash sudo dnf install -y git gcc gcc-c++ make ninja-build glib2-devel \ pixman-devel libfdt-devel libslirp-devel zlib-devel ccache 若只需 x86_64 虚拟化,可省略交叉编译工具链与无关架构依赖,减少配置时间。

三、获取源码:加速 clone

QEMU 仓库体积较大,推荐浅克隆或指定分支: bash git clone --depth 1 https://gitlab.com/qemu-project/qemu.git cd qemu 需要完整历史或特定版本时,去掉 `--depth 1`,或切换 tag: bash git fetch --tags git checkout v9.0.0 QEMU 使用若干子模块(如 `dtc`、`roms` 等)。若配置阶段提示缺失,执行: bash git submodule update --init --recursive

四、配置:精简目标与启用加速

使用 `configure` 明确目标架构,避免全架构编译。以下命令同时启用 KVM 与用户态网络加速: bash ./configure \ --target-list=x86_64-softmmu \ --enable-kvm \ --enable-slirp \ --disable-debug \ --disable-docs \ --enable-strip 关键选项说明:

选项作用
`--target-list`仅构建需要的架构,显著减少编译量
`--enable-kvm`启用 Linux KVM 硬件加速后端
`--enable-slirp`内置用户态网络,免 root 配网
`--disable-debug`关闭调试符号,加快编译、减小体积
`--disable-docs`跳过文档生成,避免 sphinx 依赖
`--enable-strip`安装时剥离符号

五、编译加速的四个实用手段

1. 并行编译(Ninja)

QEMU 已迁移到 Meson/Ninja 构建系统,`configure` 成功后直接用: bash make -j$(nproc) 或显式调用 Ninja: bash ninja -C build 按 CPU 核心数并行,是最直接的加速方式。

2. ccache 缓存

重复编译(改分支、改配置)时,ccache 可命中大量已编译对象: bash export CCACHE_DIR=$HOME/.ccache export PATH="/usr/lib/ccache:$PATH" ./configure --cc="ccache gcc" --cxx="ccache g++" ... 首次编译无收益,第二次起速度提升明显。

3. 更换更快的链接器

大型链接阶段可用 `lld` 或 `mold`: bash sudo apt install -y lld ./configure --enable-lto ... # 视需求 配合 `-fuse-ld=lld` 可缩短链接时间(需与工具链兼容)。

4. 使用 tmpfs 存放构建目录

将构建目录放到内存盘,减少磁盘 IO: bash sudo mkdir -p /mnt/ramdisk && sudo mount -t tmpfs -o size=8G tmpfs /mnt/ramdisk 确保内存充足,否则会触发交换反而变慢。

六、安装与验证

bash sudo make install qemu-system-x86_64 --version 查看可用的加速器: bash qemu-system-x86_64 -accel help 若输出中包含 `kvm`,说明 KVM 后端已编译并可用。

七、运行加速:启用 KVM

1. 检查硬件与内核支持 bash egrep -c '(vmx|svm)' /proc/cpuinfo # 大于 0 表示 CPU 支持虚拟化 ls -l /dev/kvm 若 `/dev/kvm` 不存在,加载对应模块: bash sudo modprobe kvm sudo modprobe kvm_intel # Intel

或

sudo modprobe kvm_amd # AMD 并将当前用户加入 `kvm` 组: bash sudo usermod -aG kvm $USER 重新登录后生效。

2. 启动命令对比

软件模拟(慢): bash qemu-system-x86_64 -m 2048 -hda disk.img KVM 加速(快): bash qemu-system-x86_64 \ -accel kvm \ -cpu host \ -smp 4 \ -m 4096 \ -hda disk.img \ -netdev user,id=n0 -device virtio-net-pci,netdev=n0 `-cpu host` 将宿主机 CPU 特性透传给客户机,配合 virtio 设备可进一步降低 IO 开销。

3. 如何确认正在使用 KVM

启动后进入 QEMU 监控台(`Ctrl-a c`),执行: text info kvm 输出 `kvm support: enabled` 即表示加速已生效。

八、

作者:王壹杰
时间:2026-10-07
来源:https://mirror.ciilii.com/