您尚未登录。

#1 2024-05-26 08:08:38

twobooks
会员
所在地: rainforest
注册时间: 2020-05-19
帖子: 83

VirtualBox 和 Qemu

最近安装了Qemu, 测试结果令人失望。
主机:
CPU i-3330 4-core
内存 DDR3 12GB
SSD 1 240 GB 主机专用, VirtualBox 和 Qemu 分别安装在两个分区上。
SSD 2 240 GB 虚拟机专用
主机系统 Linux 内核 6.9.1
VirtualBox 需要安装 virtualbox 和 virtualbox-host-modules-arch
Qemu 需要安装 qemu-desktop 和 libvirt

虚拟机系统 Linux 内核 6.8.9
安装 virtualbox-guest-utils 和 xf86-video-vmware => Qemu [-vga vmware]

VirtualBox 虚拟机设置:
* System => Motherboard => Chipset: ICH9
* System => Motherboard => Extended features: Enable I/O APIC
* System => Acceleration => Paravirtualization Interface: Default
* System => Acceleration => Hardware Virtualization: Enable Nested Paging : 这个是影响性能的最重要选项
* Storage => Controller: SATA => Type: AHCI

qemu-system-x86_64参数:
-machine q35,accel=kvm -cpu host : [-cpu host 需要 accel=kvm 或 -enable kvm]
-smp 2 : 2个CPU
-m 2048 : 2048MB内存
-device virtio-net-pci,mac=52:54:00:00:12:35,netdev=tap0 -netdev bridge,id=tap0,br=br0 : 这行比较复杂, 前半部是指虚拟机, 后半部是指主机
-device intel-iommu : 是wiki推荐的, 使能VT-x属性, 这个参数可能是比较老了, 会降低性能, 建议不要使用
-drive file=guest.qcow2,if=virtio : 虚拟机硬盘在SSD 2上

测试结果如下:
PostgreSQL 15.7
虚拟机指定两个CPU
配置 单核  vbox 26.5s       qemu 28.5s
编译 双核  vbox 3m30.5s   qemu 3m34.5s

PostgreSQL 15.7
虚拟机指定三个CPU
配置 单核  vbox 29.5s       qemu 31.5s
编译 三核  vbox 2m30s     qemu 2m34s

PHP 8.2.19
虚拟机指定两个CPU
配置 单核  vbox 41s       qemu 44s
编译 双核  vbox 9m56s   qemu 10m18s

测试结果 Qemu 不但没有优势反而不如 VirtualBox, 据说 Qemu 更适合 Windows 虚拟机,
还有可能是我的 qemu-system-x86_64 参数还能优化。

离线

#2 2024-05-26 10:50:39

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,773
个人网站

Re: VirtualBox 和 Qemu

* Storage => Controller: SATA => Type: AHCI

你要是用 btrfs 的话,就会跟我一样会受不了而卸载 vbox 了: https://superuser.com/questions/1245225 … virtualbox

离线

#3 2024-05-26 11:09:04

twobooks
会员
所在地: rainforest
注册时间: 2020-05-19
帖子: 83

Re: VirtualBox 和 Qemu

我的理解是, 至少要有4个硬盘, 做成RAID 0 + 1, 用btrfs才有意义。
我喜欢old school xfs 或者 ext4, 天天做备份。

离线

#4 2024-05-26 11:33:47

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,773
个人网站

Re: VirtualBox 和 Qemu

你的理解不对。你也根本没看懂我的回复。
vbox 的 SATA 控制器会忽略 flush 指令以提升性能,代价是数据损坏风险。qemu 没有这个跑分特性,数据安全性更高,代价是性能下降。

离线

#5 2024-05-26 12:13:16

twobooks
会员
所在地: rainforest
注册时间: 2020-05-19
帖子: 83

Re: VirtualBox 和 Qemu

受教了, 就是說vbox設計本身有隱患, 即使用btrfs也不能解決問題, vbox只能用着玩。

离线

#6 2024-05-26 12:19:16

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,773
个人网站

Re: VirtualBox 和 Qemu

btrfs 不是解决问题,是让问题更容易被触发。毕竟 ext4 坏了就坏了,大部分时候,你不主动检查的话,谁也不知道文件坏掉了(
vbox 那个跑分特性可以关掉,但那样性能优势就没啦。

离线

页脚