LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 849|回复: 16

我的kvm虚拟机读写硬盘的速度只有1MB/s,请问解决方法

[复制链接]
发表于 2012-2-26 14:31:19 | 显示全部楼层 |阅读模式
我的kvm虚拟机读写硬盘的速度只有1MB/s,在guest os winxp里开vs2010时最明显,因为vs2010一打开就得占一百多兆内存,也就是要100多秒才能启动完。

我的磁盘参数是,已经使用了virtio
-drive file=disk-main.img,if=virtio,index=0,media=disk,cache=none
在guest os winxp里也装了virtio scsi磁盘驱动,在硬件管理器里也看到磁盘设备就是virtio设备。

我的cpu是intel i5-2500K。

听说对于指令执行和虚拟内存,intel使用vt-x技术。
对于i/o,intel使用vt-d技术,这个技术需要芯片组支持,成为iommu。如果没有这个技术,那么无法使用dma导致io慢。
主板的iommu需要在bios里使能,我的主板是z68芯片组,但我没有看到相关bios选项。
intel还有vt-c技术是给网卡i/o用的,我现在暂时还是先用kvm缺省的网卡。

请问在linux下如何看到系统是否支持vt-d?主板是否使能iommu?
能不能看到dma统计信息,好看一下虚拟机的io操作是不是通过dma进行的?
发表于 2012-2-26 15:37:30 | 显示全部楼层
不要用virtio,然后启用缓存writeback试试看。
回复 支持 反对

使用道具 举报

发表于 2012-2-26 18:13:56 | 显示全部楼层
正好这两天我也在玩儿kvm,查了一下

raw 比 qcow2 能快点

nocache 和 writeback差不多,writethrough非常慢

qcow2启动prelocate能快不少

virtio因为win的驱动装不上还没实验 -_-
回复 支持 反对

使用道具 举报

发表于 2012-2-26 18:55:31 | 显示全部楼层
又测了一下,qcow2 prelocation nonecache novirtio
intel iommu enabled

XP里HDTune 最小值4.x M 最大值170M 平均值 112兆
不知道这么测准不准

参考 http://www.linux-kvm.org/page/Ho ... es_with_VT-d_in_KVM
回复 支持 反对

使用道具 举报

发表于 2012-2-26 19:22:28 | 显示全部楼层
上面那个是preallocation,单词写错了。。。。。。 oops...

你那Z86+2500一定可以vt-d
我那H61+2120都可以那
回复 支持 反对

使用道具 举报

发表于 2012-2-26 19:28:17 | 显示全部楼层
Post by darrenlee;2160824
正好这两天我也在玩儿kvm,查了一下

raw 比 qcow2 能快点

nocache 和 writeback差不多,writethrough非常慢

qcow2启动prelocate能快不少

virtio因为win的驱动装不上还没实验 -_-


google都说virtio的性能最强啊,怎么楼上得到的结论不一样呢?

给个可用的xp virtio驱动:http://download.csdn.net/download/morre/3475865

搭车问一下,为何我用usbredir总是不成功呢?usb设备只有鼠标能识别,磁盘根本没法用。
回复 支持 反对

使用道具 举报

发表于 2012-2-26 19:29:55 | 显示全部楼层
Post by zhou3345;2160831
google都说virtio的性能最强啊,怎么楼上得到的结论不一样呢?

给个可用的xp virtio驱动:http://download.csdn.net/download/morre/3475865

搭车问一下,为何我用usbredir总是不成功呢?usb设备只有鼠标能识别,磁盘根本没法用。

我没测,现在装的xp装不上virtio驱动,老版驱动iso我又找不到。。。。:yun:

Thanx!!!!!!!

一会儿试试 啊
回复 支持 反对

使用道具 举报

发表于 2012-2-26 21:39:55 | 显示全部楼层
virtio装上了,,

hd tune 结果:min-3M max-306M avg.-194M
速度提高近1倍

开机几秒就进了XP,,,

我再试试你说的USB
回复 支持 反对

使用道具 举报

发表于 2012-2-27 15:02:54 | 显示全部楼层
Post by zhou3345;2160831
google都说virtio的性能最强啊,怎么楼上得到的结论不一样呢?

给个可用的xp virtio驱动:http://download.csdn.net/download/morre/3475865

搭车问一下,为何我用usbredir总是不成功呢?usb设备只有鼠标能识别,磁盘根本没法用。

我试过usb了,能用,U盘和手写板都可以,扫描仪还没试,估计也应该可以

fstab加了一行:
none /proc/bus/usb usbfs devgid=100,devmode=664 0 0
回复 支持 反对

使用道具 举报

发表于 2012-2-27 19:32:27 | 显示全部楼层
Post by darrenlee;2160902
我试过usb了,能用,U盘和手写板都可以,扫描仪还没试,估计也应该可以

fstab加了一行:
none /proc/bus/usb usbfs devgid=100,devmode=664 0 0

你的kvm启动参数是?可以分享出来参考一下吗?
另外客户机是什么系统?装了特别驱动吗,spice用了哪些use?

提示我  /proc/bus/usb device not found ,莫非是我的内核配置有问题,先去看看……

发现需要在内核中选中这里才行: USB device filesystem (DEPRECATED)
可有个deprecated标识啊,应该都转到udev了呀,不知道有没有一个更好的方法。vbox应该没有用到这个东东,在vbox下是可以自由传递给客户机的。

内核添加了选项,也mount了 /proc/bus/usb ,可还是无法识别usb disk。
每次选择设备的时候还总是*出讨厌的权限框要输入root密码。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表