這聽起來有點偏執,但我真的懷疑我配置的 libvirt+kvm 使用了 debian 中的任何硬體加速。我設定它這指導。事實上我已經檢查過,kvm-intel 模組肯定已載入。但在使用 freebsd 的 vm 中,我有一個巨大的滯後,例如:安裝作業系統、使用 csup 提取連接埠樹,當然還有編譯連接埠。此機器上的資源相當大:4 核心 cpu 和 4GB 記憶體。我可以確認在同一台機器上手動設定 libvirt 之前,我在 debian 上與 proxmox 進行了相同的設定。所以我確實知道客人必須有多快。因此,關於硬體問題確實是毫無疑問的,我的意思是 OVH 託管聲明: Intel Core i5-2400 4x3.1+ GHz 6 Mb L2 - QPI 5 GT/sec is ued 並且虛擬化是:VT指令
正如我所說,這個設定以前是有效的。唯一的事情是,也許我錯過了內核模組配置,但是 kvm-intel 已加載,而且我的朋友檢查了 libvirt 也使用了它。所以請告訴我我做錯了什麼,也許指導給出錯誤的步驟..?也許 freebsd guest 不支援某些東西?如果您需要一些其他信息,請在評論中寫下。也許值得一提的是,我已經更新了內核,因為 debian 的新安裝已經完成(在主機上)。也許加載的模組找不到與內核相關的東西..無論如何我真的很困惑下一步該做什麼。
此配置用於建立虛擬機器:
# virt-install --connect qemu:///system -n bsd -r 4096 --vcpus=2 --disk path=/home/vm/hdd/bsd.img,size=100 -c /home/vm/iso/FreeBSD-8.2-RELEASE-amd64-disc1.iso --vnc --noautoconsole --os-type unix --os-variant freebsd7 --accelerate --network=bridge:br0,mac=02:00:00:a7:66:32 --hvm
更新: ps -ef | grep qemu
106 2370 1 5 09:40 ? 00:24:10 /usr/bin/kvm -S -M pc-0.12 -enable-kvm -m 4095 -smp 2,sockets=2,cores=1,threads=1 -name roman -uuid 405855d7-7fbe-7ecb-d125-b23fd9c9d07a -nodefaults -chardev socket,id=monitor,path=/var/lib/libvirt/qemu/roman.monitor,server,nowait -mon chardev=monitor,mode=readline -rtc base=utc -boot c -drive file=/home/vm/hdd/roman.img,if=none,id=drive-ide0-0-0,boot=on,format=raw -device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 -drive if=none,media=cdrom,id=drive-ide0-1-0,readonly=on,format=raw -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 -device ne2k_pci,vlan=0,id=net0,mac=02:00:00:a7:66:31,bus=pci.0,addr=0x3 -net tap,fd=32,vlan=0,name=hostnet0 -chardev pty,id=serial0 -device isa-serial,chardev=serial0 -usb -vnc 127.0.0.1:0 -k en-us -vga cirrus -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x4
答案1
-enable-kvm
cmd 行中的 VT 表示您未處於仿真模式。但是,我也看到-M pc-0.12
,我不太確定這會如何影響效能。 -M 表示模擬機器類型,這可能是這樣設定的,因為您指定了 BSD 作為來賓作業系統。我會嘗試為 RHEL6 建立一個虛擬機器(例如),然後在那裡安裝 FBSD,並查看效能是否有變化。
進一步看,您的第一個磁碟作為 ide (比 virtio 慢得多)工作,而 netdev 是 ne2k,它也比 virtio 慢得多。不確定是否有 virtio_net 或 virtio_blk 的 FBSD 驅動程序,但值得快速谷歌搜索
答案2
您可以info kvm
在 qemu 監視器中呼叫(Ctrl++在 Qemu 視窗中,或者您可以使用 啟動Altqemu )2-monitor stdio