[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

[vfio-users] Slow performance on VM win7 install



Hello, I've had this problem consistently in both ubuntu server and arch (fresh installs this week).  When booting a brand new VM and the win7 iso attached to cdrom, I am getting extremely poor performance.  The first 'Windows is loading files...' screen takes about 3 full seconds to fill the progress bar, then starts the bar over and loads VERY slowly.  iotop shows the qemu process moving at 1100-1300K/s.

Prior to this week, windows installs would load through the second progress bar part in a matter of seconds. It is now taking almost 4 minutes.  I wanted to see if this was a windows iso specific issue (I highly doubt it) and loaded and arch iso.  Again, on choosing to load arch install environment iotop reported no higher than 1133K/s, averaging about 1100K/s during the loading. Once in the install shell, I was able to issue a quick speed test (dd if=/dev/cdrom of=/dev/zero bs=1M count=1024) which resulted in about 128M/s.

In qemu monitor, 'info kvm' reports kvm enabled.

I've been searching for a solution and my google fu has failed me.  Please help!

QEMU emulator version 2.3.0 (Debian 1:2.3+dfsg-5ubuntu9.2)
virt-manager version 1.3.2

VM xml dump:
<domain type='kvm'>
  <name>generic</name>
  <uuid>0cbed839-7320-4bc7-94f8-53b07f7097b2</uuid>
  <memory unit='KiB'>1048576</memory>
  <currentMemory unit='KiB'>1048576</currentMemory>
  <vcpu placement='static'>3</vcpu>
  <os>
    <type arch='x86_64' machine='pc-i440fx-vivid'>hvm</type>
    <loader readonly='yes' type='pflash'>/usr/share/ovmf/OVMF_CODE-pure-efi.fd</loader>
    <nvram template='/stor/VM/vars.fd'>/var/lib/libvirt/qemu/nvram/generic_VARS.fd</nvram>
    <boot dev='cdrom'/>
  </os>
  <features>
    <acpi/>
    <apic/>
    <kvm>
      <hidden state='on'/>
    </kvm>
    <vmport state='off'/>
  </features>
  <cpu mode='custom' match='exact'>
    <model fallback='allow'>Haswell</model>
  </cpu>
  <clock offset='utc'>
    <timer name='rtc' tickpolicy='catchup'/>
    <timer name='pit' tickpolicy='delay'/>
    <timer name='hpet' present='no'/>
    <timer name='hypervclock' present='no'/>
  </clock>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <pm>
    <suspend-to-mem enabled='no'/>
    <suspend-to-disk enabled='no'/>
  </pm>
  <devices>
    <emulator>/usr/bin/kvm-spice</emulator>
    <disk type='file' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <source file='/stor/Downloads/archlinux-2016.03.01-dual.iso'/>
      <target dev='hda' bus='ide'/>
      <readonly/>
      <address type='drive' controller='0' bus='0' target='0' unit='0'/>
    </disk>
    <controller type='usb' index='0' model='ich9-ehci1'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x7'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci1'>
      <master startport='0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0' multifunction='on'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci2'>
      <master startport='2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x1'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci3'>
      <master startport='4'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x2'/>
    </controller>
    <controller type='pci' index='0' model='pci-root'/>
    <controller type='ide' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
    </controller>
    <controller type='virtio-serial' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </controller>
    <serial type='pty'>
      <target port='0'/>
    </serial>
    <console type='pty'>
      <target type='serial' port='0'/>
    </console>
    <channel type='spicevmc'>
      <target type='virtio' name='com.redhat.spice.0'/>
      <address type='virtio-serial' controller='0' bus='0' port='1'/>
    </channel>
    <input type='mouse' bus='ps2'/>
    <input type='keyboard' bus='ps2'/>
    <graphics type='spice' autoport='yes'>
      <image compression='off'/>
    </graphics>
    <video>
      <model type='qxl' ram='65536' vram='65536' vgamem='16384' heads='1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
    </video>
    <redirdev bus='usb' type='spicevmc'>
    </redirdev>
    <redirdev bus='usb' type='spicevmc'>
    </redirdev>
    <memballoon model='virtio'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
    </memballoon>
  </devices>
</domain>

~/.cache/virt-manager/virt-manager.log:
[Mon, 04 Apr 2016 19:10:59 virt-manager 3975] DEBUG (choosecd:64) Closing media chooser
[Mon, 04 Apr 2016 19:10:59 virt-manager 3975] DEBUG (connection:754) domain lifecycle event: domain=generic event=0 reason=1
[Mon, 04 Apr 2016 19:11:01 virt-manager 3975] DEBUG (engine:1157) Starting vm 'generic'
[Mon, 04 Apr 2016 19:11:01 virt-manager 3975] DEBUG (connection:754) domain lifecycle event: domain=generic event=4 reason=0
[Mon, 04 Apr 2016 19:11:01 virt-manager 3975] DEBUG (connection:754) domain lifecycle event: domain=generic event=2 reason=0
[Mon, 04 Apr 2016 19:11:01 virt-manager 3975] DEBUG (console:667) Starting connect process for proto=spice trans= connhost=127.0.0.1 connuser= connport= gaddr=127.0.0.1 gport=5900 gtlsport=None gsocket=None
[Mon, 04 Apr 2016 19:11:01 virt-manager 3975] DEBUG (console:790) Viewer connected
[Mon, 04 Apr 2016 19:18:32 virt-manager 3975] DEBUG (engine:1127) Destroying vm 'generic'
[Mon, 04 Apr 2016 19:18:32 virt-manager 3975] DEBUG (console:771) Viewer disconnected
[Mon, 04 Apr 2016 19:18:32 virt-manager 3975] DEBUG (connection:754) domain lifecycle event: domain=generic event=5 reason=1

/var/log/libvirt/qemu/generic.log:
2016-04-05 02:11:01.496+0000: starting up libvirt version: 1.2.16, package: 1.2.16-2ubuntu11.15.10.3, qemu version: 2.3.0 (Debian 1:2.3+dfsg-5ubuntu9.2)
LC_ALL=C PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin QEMU_AUDIO_DRV=spice /usr/bin/kvm-spice -name generic -S -machine pc-i440fx-vivid,accel=kvm,usb=off,vmport=off -cpu Haswell,kvm=off -drive file=/usr/share/ovmf/OVMF_CODE-pure-efi.fd,if=pflash,format=raw,unit=0,readonly=on -drive file=/var/lib/libvirt/qemu/nvram/generic_VARS.fd,if=pflash,format=raw,unit=1 -m 1024 -realtime mlock=off -smp 3,sockets=3,cores=1,threads=1 -uuid 0cbed839-7320-4bc7-94f8-53b07f7097b2 -no-user-config -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/generic.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc,driftfix=slew -global kvm-pit.lost_tick_policy=discard -no-hpet -no-shutdown -global PIIX4_PM.disable_s3=1 -global PIIX4_PM.disable_s4=1 -boot strict=on -device ich9-usb-ehci1,id=usb,bus=pci.0,addr=0x4.0x7 -device ich9-usb-uhci1,masterbus=usb.0,firstport=0,bus=pci.0,multifunction=on,addr=0x4 -device ich9-usb-uhci2,masterbus=usb.0,firstport=2,bus=pci.0,addr=0x4.0x1 -device ich9-usb-uhci3,masterbus=usb.0,firstport=4,bus=pci.0,addr=0x4.0x2 -device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x3 -drive file=/stor/Downloads/archlinux-2016.03.01-dual.iso,if=none,id=drive-ide0-0-0,readonly=on,format=raw -device ide-cd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -chardev spicevmc,id=charchannel0,name=vdagent -device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=com.redhat.spice.0 -spice port=5900,addr=127.0.0.1,disable-ticketing,image-compression=off,seamless-migration=on -device qxl-vga,id=video0,ram_size=67108864,vram_size=67108864,vgamem_mb=16,bus=pci.0,addr=0x2 -chardev spicevmc,id=charredir0,name=usbredir -device usb-redir,chardev=charredir0,id=redir0 -chardev spicevmc,id=charredir1,name=usbredir -device usb-redir,chardev=charredir1,id=redir1 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5 -msg timestamp=on
Domain id=16 is tainted: high-privileges
char device redirected to /dev/pts/3 (label charserial0)
main_channel_link: add main channel client
main_channel_handle_parsed: net test: latency 0.095000 ms, bitrate 30567164179 bps (29151.119403 Mbps)
inputs_connect: inputs channel client create
red_dispatcher_set_cursor_peer:
qemu: terminating on signal 15 from pid 644
2016-04-05 02:18:32.677+0000: shutting down

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]