virtualized guest use only 2 cores

Frantisek Hanzlik franta at hanzlici.cz
Sat Oct 19 09:55:57 UTC 2013


Gilboa Davara wrote:
> On Fri, Oct 18, 2013 at 2:54 PM, Frantisek Hanzlik <franta at hanzlici.cz> wrote:
>>
>> Gilboa Davara wrote:
>>> On Fri, Oct 18, 2013 at 1:45 PM, Frantisek Hanzlik <franta at hanzlici.cz> wrote:
>>>>
>>>> Not sure if it is Fedora/KVM problem, but:
>>>> I'm trying virtualize MS Win7 Pro 64 guest under Fedora 19 x86_64 host.
>>>> In virt-manager I allocated 4 cores (host machine has Xeon E3-1230 CPU
>>>> with 8 cores incl. hyperthreading) to guest. But after installation
>>>> guest OS uses only two cores - as report its task manager and OS
>>>> properties info page. But what is weird, its device manager report all
>>>> cores (see attached picture - where I increased no. of cores to 6,
>>>> again without increased number of used cores). Guest OS should support
>>>> up to 4 cores, according to manufacturer:
>>>> http://technet.microsoft.com/cs-CZ/library/cc794868.aspx
>>>>
>>>> But from this referenced URL it seems as they are considering hyper-v
>>>> as virt. supervisor - maybe then this result be some KVM problem or
>>>> nature?
>>>>
>>>> TIA, Franta Hanzlik
>>>>
>>>>
>>>
>>> Please post the output of:
>>> $ for PID in $(pgrep qemu-system) ; do echo $PID ; cat
>>> /proc/$PID/cmdline ; echo ; done
>>>
>>> - Gilboa
>>
>> This is output (there run only this one guest):
>>
>> 1447
>> /usr/bin/qemu-system-x86_64-machineaccel=kvm-namew7-64-sql-jana-S-machinepc-i440fx-1.4,accel=kvm,usb=off-cpuSandyBridge,+erms,+smep,+fsgsbase,+rdrand,+f16c,+osxsave,+pcid,+pdcm,+xtpr,+tm2,+est,+smx,+vmx,+ds_cpl,+monitor,+dtes64,+pbe,+tm,+ht,+ss,+acpi,+ds,+vme-m4096-smp6,sockets=6,cores=1,threads=1-uuidba471904-759f-a14d-d6a9-c19874cc0904-no-user-config-nodefaults-chardevsocket,id=charmonitor,path=/var/lib/libvirt/qemu/w7-64-sql-jana.monitor,server,nowait-monchardev=charmonitor,id=monitor,mode=control-rtcbase=localtime-no-shutdown-devicepiix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2-devicevirtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x5-drivefile=/mnt/virtualy/images/w7-64-sql-jana,if=none,id=drive-virtio-disk0,format=raw-devicevirtio-blk-pci,scsi=off,bus=pci.0,addr=0x7,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1-driveif=none,id=drive-ide0-0-0,readonly=on,format=raw-deviceide-cd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0-netdevtap,fd=24,id=hostnet0,vhos!
 t=o!
>>  n,vhostfd=
>> 25-devicevirtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:21:e1:56,bus=pci.0,addr=0x3-chardevpty,id=charserial0-deviceisa-serial,chardev=charserial0,id=serial0-chardevspicevmc,id=charchannel0,name=vdagent-devicevirtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=com.redhat.spice.0-deviceusb-tablet,id=input0-spiceport=5900,addr=127.0.0.1,disable-ticketing,seamless-migration=on-vgaqxl-globalqxl-vga.ram_size=67108864-globalqxl-vga.vram_size=67108864-deviceintel-hda,id=sound0,bus=pci.0,addr=0x4-devicehda-duplex,id=sound0-codec0,bus=sound0.0,cad=0-devicevirtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x6
>>
>> #------------------
>> Or cutted one par/line:
>>
>> /usr/bin/qemu-system-x86_64
>>  -machine accel=kvm -name w7-64-sql-jana -S
>>  -machine pc-i440fx-1.4,accel=kvm,usb=off
>>  -cpu SandyBridge,+erms,+smep,+fsgsbase,+rdrand,+f16c,+osxsave,+pcid,+pdcm,+xtpr,+tm2,+est,+smx,+vmx,+ds_cpl,+monitor,+dtes64,+pbe,+tm,+ht,+ss,+acpi,+ds,+vme -m 4096 -smp 6,sockets=6,cores=1,threads=1
>>  -uuid ba471904-759f-a14d-d6a9-c19874cc0904
>>  -no-user-config
>>  -nodefaults
>>  -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/w7-64-sql-jana.monitor,server,nowait
>>  -mon chardev=charmonitor,id=monitor,mode=control
>>  -rtc base=localtime
>>  -no-shutdown
>>  -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2
>>  -device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x5
>>  -drive file=/mnt/virtualy/images/w7-64-sql-jana,if=none,id=drive-virtio-disk0,format=raw
>>  -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x7,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1
>>  -drive 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
>>  -netdev tap,fd=24,id=hostnet0,vhost=on,vhostfd=25
>>  -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:21:e1:56,bus=pci.0,addr=0x3
>>  -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
>>  -device usb-tablet,id=input0
>>  -spice port=5900,addr=127.0.0.1,disable-ticketing,seamless-migration=on
>>  -vga qxl
>>  -global qxl-vga.ram_size=67108864
>>  -global qxl-vga.vram_size=67108864
>>  -device intel-hda,id=sound0,bus=pci.0,addr=0x4
>>  -device hda-duplex,id=sound0-codec0,bus=sound0.0,cad=0
>>  -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x6
> 
> Your KVM SMP configuration is the source of the problem as its very
> unlikely that your version of Windows (7 PRO?) supports a six socket
> system. (This usually reserved for the Enterprise versions of Windows
> Server 2K8 and 2K12)
> You'll need to change the line from -smp 6,sockets=6,cores=1,threads=1
> to -smp 6,sockets=1,cores=6,threads=1 (or cores=2,threads=2, if you
> want to emulate a dual core / quad thread CPU).
> 
> - Gilboa


Are you sure, should not be '-smp 4,sockets=1,cores=2,threads=4' for
dual core / quad thread CPU?

Anyway, You was right, I badly tried emulate four (and then six) real
socket CPU - while Win7 Pro support only two physical processors.
Hopefully it is posible set right values for CPU sockets/cores/threads
directly in virt-manager, under "Processor" -> "Topology" menu
(or with "virsh edit VirtMachineName" - but I'm not familiar with all
its command-line syntax).

Thanks,
Franta Hanzlik


More information about the users mailing list