[vfio-users] Performance problem with i5 3330

francesco dicarlo evilsephiroth at gmail.com
Tue Sep 15 10:22:37 UTC 2015


more analysis. disabled some service and I obtained steady 60 fps on the vm
playing directly from the monitor attached.

But there's a problem. I want to do mainly use of steam in home streaming
so windows vm should be basically headless with no monitor attached.

While in local monitor game runs at 60 fps, streaming to other devices gets
poor performance. Steam is popping up "slow encode" so the encoding of h264
video to other devices is not enough. I hope it is not caused from removing
hyperV enlightments otherwise I'm really screwed up...
Maybe also network is the bottleneck... Should I trust virtio or do a
passthrough for a ethernet pci card?

Only thing to do/test, use an empty distro or use an i7...



2015-09-15 12:01 GMT+02:00 francesco dicarlo <evilsephiroth at gmail.com>:

> well, yes. My first configuration was without cpu pinning and I had worst
> performance.
>
> I've attached a monitor on the vm to see real performance and it's really
> low...I've gained some fps but far from what that card can do.
>
> King of fighters 13 bare metal 60fps , vm 32 fps.
>
> Tried right now removing cputune section from xml and stopping  nearly all
> services that were running on the machine.
>
> With there performance, I think neither a fresh installation would be good
> for performance.
>
>
>
>
> 2015-09-15 11:47 GMT+02:00 Okky Hendriansyah <okky at nostratech.com>:
>
>> Hi Francesco,
>>
>> Have you tried without CPU pinning at all just like on the Proxmox box?
>>
>> Best regards,
>> --
>> *Okky Hendriansyah*
>>
>> On September 15, 2015 at 16:44:09, francesco dicarlo (
>> evilsephiroth at gmail.com) wrote:
>>
>> well, if I can't trust sensors how can I monitor temperature? from within
>> windows?  It's always between 55 63 degree so I don't think it's throttling
>> down.
>>
>> I'm currentyl tailing sensors and monitoring htop.
>>
>> Besides, I tried to lower stream from vm steam limiting to 720p and I
>> gained some fps... So it's really a cpu problem... It's so strange because
>> with proxmox I reached 60 fps for a lot of titles without pinning nothing.
>> I'm starting to think that It's not enough for all processes on that
>> machine.
>>
>>
>>
>> 2015-09-15 11:20 GMT+02:00 Blank Field <ihatethisfield at gmail.com>:
>>
>>> Hardware sensors, i mean.
>>> On Sep 15, 2015 12:20 PM, "Blank Field" <ihatethisfield at gmail.com>
>>> wrote:
>>>
>>>> Linux hardware often lie, recheck it.
>>>> On Sep 15, 2015 12:19 PM, "Sinisa Tkalec" <xslisx at gmail.com> wrote:
>>>>
>>>>> You wanna set cpu like this:
>>>>>
>>>>>   <vcpu placement='static'>3</vcpu>
>>>>>   <cputune>
>>>>>     <vcpupin vcpu='0' cpuset='0'/>
>>>>>     <vcpupin vcpu='1' cpuset='1'/>
>>>>>     <vcpupin vcpu='2' cpuset='2'/>
>>>>>   </cputune>
>>>>>   <os>
>>>>>
>>>>>   <cpu mode='host-passthrough'>
>>>>>     <topology sockets='1' cores='3' threads='1'/>
>>>>>   </cpu>
>>>>>
>>>>>
>>>>> On 09/15/2015 11:16 AM, francesco dicarlo wrote:
>>>>>
>>>>> Done with the scan. Nothing found...
>>>>>
>>>>> Besides running only malwarebytes anti-malware on win vm hogged guest
>>>>> cpu to 70% and all 3 cores assigned to vm on the host went at 65%.
>>>>>
>>>>> Only scanning... For the sake of completeness, I will post my vm xml.
>>>>>
>>>>>
>>>>> <domain type='kvm' id='12' xmlns:qemu='
>>>>> http://libvirt.org/schemas/domain/qemu/1.0'>
>>>>>   <name>win8.1</name>
>>>>>   <uuid>f7060f72-6428-40fe-b19e-6ced0837149e</uuid>
>>>>>   <memory unit='KiB'>8388608</memory>
>>>>>   <currentMemory unit='KiB'>8388608</currentMemory>
>>>>>   <vcpu placement='static' cpuset='0-2'>3</vcpu>
>>>>>   <resource>
>>>>>     <partition>/machine</partition>
>>>>>   </resource>
>>>>>   <os>
>>>>>     <type arch='x86_64' machine='pc-i440fx-trusty'>hvm</type>
>>>>>     <loader>/usr/share/ovmf/OVMF.fd</loader>
>>>>>     <bootmenu enable='yes'/>
>>>>>   </os>
>>>>>   <features>
>>>>>     <acpi/>
>>>>>     <hyperv>
>>>>>       <relaxed state='off'/>
>>>>>       <vapic state='off'/>
>>>>>       <spinlocks state='off'/>
>>>>>     </hyperv>
>>>>>   </features>
>>>>>   <cpu mode='custom' match='exact'>
>>>>>     <model fallback='allow'>SandyBridge</model>
>>>>>     <vendor>Intel</vendor>
>>>>>     <topology sockets='1' cores='3' threads='1'/>
>>>>>     <feature policy='require' name='vme'/>
>>>>>     <feature policy='require' name='dtes64'/>
>>>>>     <feature policy='require' name='vmx'/>
>>>>>     <feature policy='require' name='erms'/>
>>>>>     <feature policy='require' name='xtpr'/>
>>>>>     <feature policy='require' name='smep'/>
>>>>>     <feature policy='require' name='pcid'/>
>>>>>     <feature policy='require' name='est'/>
>>>>>     <feature policy='require' name='monitor'/>
>>>>>     <feature policy='require' name='tm'/>
>>>>>     <feature policy='require' name='acpi'/>
>>>>>     <feature policy='require' name='osxsave'/>
>>>>>     <feature policy='require' name='ht'/>
>>>>>     <feature policy='require' name='pdcm'/>
>>>>>     <feature policy='require' name='fsgsbase'/>
>>>>>     <feature policy='require' name='f16c'/>
>>>>>     <feature policy='require' name='ds’/>
>>>>> <feature policy='require' name='tm2'/>
>>>>>     <feature policy='require' name='ss'/>
>>>>>     <feature policy='require' name='pbe'/>
>>>>>     <feature policy='require' name='ds_cpl'/>
>>>>>     <feature policy='require' name='rdrand'/>
>>>>>   </cpu>
>>>>>   <clock offset='localtime'>
>>>>>     <timer name='hypervclock' present='no'/>
>>>>>     <timer name='rtc' tickpolicy='catchup'/>
>>>>>     <timer name='pit' tickpolicy='delay'/>
>>>>>     <timer name='hpet' 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/qemu-system-x86_64</emulator>
>>>>>     <disk type='file' device='disk'>
>>>>>       <driver name='qemu' type='raw' cache='none' io='native'/>
>>>>>       <source file='/home/repo/vmdisk/win8vmgame.img'/>
>>>>>       <backingStore/>
>>>>>       <target dev='vda' bus='virtio'/>
>>>>>       <boot order='1'/>
>>>>>       <alias name='virtio-disk0'/>
>>>>>       <address type='pci' domain='0x0000' bus='0x00' slot='0x05'
>>>>> function='0x0'/>
>>>>>     </disk>
>>>>>     <controller type='usb' index='0' model='ich9-ehci1'>
>>>>>       <alias name='usb0'/>
>>>>>       <address type='pci' domain='0x0000' bus='0x00' slot='0x04'
>>>>> function='0x7'/>
>>>>>     </controller>
>>>>>     <controller type='usb' index='0' model='ich9-uhci1'>
>>>>>       <alias name='usb0'/>
>>>>>       <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'>
>>>>>       <alias name='usb0'/>
>>>>>       <master startport='2'/>
>>>>>       <address type='pci' domain='0x0000' bus='0x00' slot='0x04'
>>>>> function='0x1'/>
>>>>>     </controller>
>>>>> <controller type='usb' index='0' model='ich9-uhci3'>
>>>>>       <alias name='usb0'/>
>>>>>       <master startport='4'/>
>>>>>       <address type='pci' domain='0x0000' bus='0x00' slot='0x04'
>>>>> function='0x2'/>
>>>>>     </controller>
>>>>>     <controller type='pci' index='0' model='pci-root'>
>>>>>       <alias name='pci.0'/>
>>>>>     </controller>
>>>>>     <controller type='ide' index='0'>
>>>>>       <alias name='ide0'/>
>>>>>       <address type='pci' domain='0x0000' bus='0x00' slot='0x01'
>>>>> function='0x1'/>
>>>>>     </controller>
>>>>>     <interface type='bridge'>
>>>>>       <mac address='52:54:00:db:d1:3e'/>
>>>>>       <source bridge='br0'/>
>>>>>       <target dev='vnet0'/>
>>>>>       <model type='virtio'/>
>>>>>       <alias name='net0'/>
>>>>>       <address type='pci' domain='0x0000' bus='0x00' slot='0x03'
>>>>> function='0x0'/>
>>>>>     </interface>
>>>>> <serial type='pty'>
>>>>>       <source path='/dev/pts/5'/>
>>>>>       <target port='0'/>
>>>>>       <alias name='serial0'/>
>>>>>     </serial>
>>>>> <console type='pty' tty='/dev/pts/5'>
>>>>>       <source path='/dev/pts/5'/>
>>>>>       <target type='serial' port='0'/>
>>>>>       <alias name='serial0'/>
>>>>>     </console>
>>>>>     <hostdev mode='subsystem' type='pci' managed='yes'>
>>>>>       <driver name='vfio'/>
>>>>>       <source>
>>>>>         <address domain='0x0000' bus='0x01' slot='0x00'
>>>>> function='0x0'/>
>>>>>       </source>
>>>>>       <alias name='hostdev0'/>
>>>>>       <address type='pci' domain='0x0000' bus='0x00' slot='0x06'
>>>>> function='0x0'/>
>>>>>     </hostdev>
>>>>>     <hostdev mode='subsystem' type='pci' managed='yes'>
>>>>>       <driver name='vfio'/>
>>>>>       <source>
>>>>>         <address domain='0x0000' bus='0x01' slot='0x00'
>>>>> function='0x1'/>
>>>>>       </source>
>>>>>       <alias name='hostdev1'/>
>>>>>       <address type='pci' domain='0x0000' bus='0x00' slot='0x07'
>>>>> function='0x0'/>
>>>>>     </hostdev>
>>>>>     <memballoon model='virtio'>
>>>>>       <alias name='balloon0'/>
>>>>>       <address type='pci' domain='0x0000' bus='0x00' slot='0x02'
>>>>> function='0x0'/>
>>>>>     </memballoon>
>>>>>   </devices>
>>>>>   <qemu:commandline>
>>>>>     <qemu:arg value='-cpu'/>
>>>>>     <qemu:arg value='host,kvm=off'/>
>>>>>     <qemu:arg value='-vga'/>
>>>>>     <qemu:arg value='none'/>
>>>>>   </qemu:commandline>
>>>>> </domain>
>>>>>
>>>>> 2015-09-15 11:04 GMT+02:00 francesco dicarlo <evilsephiroth at gmail.com>
>>>>> :
>>>>>
>>>>>> hmm a pretty new installation with only installed nvidia drivers and
>>>>>> steam ? it's an image from a reliable source. just checking with
>>>>>> malwarebytes tool.
>>>>>>
>>>>>> I inspected the task manager but nothing came up
>>>>>>
>>>>>> 2015-09-15 10:58 GMT+02:00 BugMaze <bugmaze at networkbreak.net>:
>>>>>>
>>>>>>> Then check your Windows for malware. Most of them are bitcoin mining
>>>>>>> proccess that hog the CPU in the background.
>>>>>>>>>>>>>>
>>>>>>> ----‏ francesco dicarlo كتب ----
>>>>>>>
>>>>>>> 60 degree under gaming. pretty normal for that shitty intel
>>>>>>> cooler... I use sensors from ubuntu repository.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> 2015-09-15 10:45 GMT+02:00 BugMaze <bugmaze at networkbreak.net>:
>>>>>>>
>>>>>>>> Just a wild guess: Maybe your CPU is throttling, do you monitor
>>>>>>>> your CPU's temps?  I used to have a similar experience to yours, reseating
>>>>>>>> the cooler with new thermal compound was the magic solution.
>>>>>>>>>>>>>>>>
>>>>>>>> ----‏ francesco dicarlo كتب ----
>>>>>>>>
>>>>>>>>
>>>>>>>> Hi to all, this is my current hardware:
>>>>>>>>
>>>>>>>> Cpu: I5 3330
>>>>>>>> Ram: 12GB DDR3
>>>>>>>> HD: 3 x 4TB(NAS) + 1x120GB (Ubuntu 14.04)
>>>>>>>> GPU:Nvidia gtx 970 directCu mini
>>>>>>>> DVB-S :Dvb-Sky S952 pci express
>>>>>>>>
>>>>>>>> I'm currently using my host for these operations:
>>>>>>>> -Rtorrent + filebot + irssi + Rutorrent
>>>>>>>> - Kodi 14 Client
>>>>>>>> - Vdr Server
>>>>>>>> - Mysql server for Kodi central repository
>>>>>>>> - NFS server for exposing my nas drives
>>>>>>>> - Some cron jobs to update kodi repository
>>>>>>>>
>>>>>>>> Usually, cpu usage stays 10 - 15% also with kodi reproducing media
>>>>>>>> with ram almost free (890MB on 12GB)
>>>>>>>>
>>>>>>>> I've got a windows 8.1 OVMF virtual machine. No problem with 970
>>>>>>>> passthrough.
>>>>>>>> Removed hyperV enlightenments,kvm=off with latest nvidia drivers.
>>>>>>>>
>>>>>>>> Assigned 3vcpus pinning 0-2 with virt-manager ui.
>>>>>>>> Assigned a raw image of 100GB for testing. Virtio for disk and
>>>>>>>> network.
>>>>>>>> There's a bridge br0 on the host machine to provide connectivity.
>>>>>>>> Using huge pages also.
>>>>>>>> Latest ovmf from git.
>>>>>>>>
>>>>>>>> I use it as a steam streaming server by using only wired ethernet
>>>>>>>> gigabit.
>>>>>>>>
>>>>>>>> My problem is only performance.
>>>>>>>>
>>>>>>>> When I fire up a game,qemu process use 90% of 3 cpus and I have
>>>>>>>> framerate by 15 20 fps while gaming on bare metal goes always at 60fps.
>>>>>>>> Tried with various games(Borderlands,KOF 13, Child of Light). Client is at
>>>>>>>> 90% cpu.
>>>>>>>>
>>>>>>>> I used in the past proxmox for my kvm needs with a i5 3470 and
>>>>>>>> performance was much more(60 fps) that with kvm-qemu on my current distro.
>>>>>>>> I can't think that there's so much difference between i5 3330 and
>>>>>>>> i5 3470.
>>>>>>>>
>>>>>>>> Is there something I'm missing? I'm willing to post configuration
>>>>>>>> or any other file that you need to do an analysis.
>>>>>>>>
>>>>>>>> The last thing that I'm going to do is to use a empty installation
>>>>>>>> of Ubuntu with nothing installed aside kvm packages to see performance...
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> vfio-users mailing listvfio-users at redhat.comhttps://www.redhat.com/mailman/listinfo/vfio-users
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> vfio-users mailing list
>>>>> vfio-users at redhat.com
>>>>> https://www.redhat.com/mailman/listinfo/vfio-users
>>>>>
>>>>>
>>> _______________________________________________
>>> vfio-users mailing list
>>> vfio-users at redhat.com
>>> https://www.redhat.com/mailman/listinfo/vfio-users
>>>
>>>
>> _______________________________________________
>> vfio-users mailing list
>> vfio-users at redhat.com
>> https://www.redhat.com/mailman/listinfo/vfio-users
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/vfio-users/attachments/20150915/bcbddb69/attachment.htm>


More information about the vfio-users mailing list