Hi,
About half a year ago I installed a stock CentOS 6.0/64bit onto an Intel server to virtualize our Linux fileserver and four WinXP boxes with rdp each.
Since recent times I didn't do any upgrades of the server's OS. Now I have CentOS 6.2.
After an upgrade I noticed that all virtual cpu name changed to QEMU Virtual CPU version (cpu64-rhel6)
The new features were 1) The ability to specify cpu type and even exact capabilities 2) The ability to set the topology. It's good because before this ability appears WinXP guests won't use more than two cores.
I got problem with both of these features.
First, I can't manually specify cpu type 'qemu64' - virtmanager says my physical CPU doesn't have some abilities. But if no CPU is specified, it is reported as 64bit
Second, a killer app on one of WinXP servers stopped working since upgrade. It's a russian proprietary accounting app named 1C ver. 8.1 (1cv8.exe). It would just hang loading single virtual CPU to 100%. I traced by trial-and-error that the problem is related to virtual CPU identification. Following solution would help: <cpu match='exact'> <model>Penryn</model> <vendor>Intel</vendor> <feature policy='require' name='tm2'/> <feature policy='require' name='est'/> <feature policy='require' name='monitor'/> <feature policy='require' name='ds'/> <feature policy='require' name='ss'/> <feature policy='require' name='vme'/> <feature policy='require' name='ht'/> <feature policy='require' name='dca'/> <feature policy='require' name='pbe'/> <feature policy='require' name='tm'/> <feature policy='require' name='vmx'/> <feature policy='require' name='ds_cpl'/> <feature policy='require' name='xtpr'/> <feature policy='require' name='acpi'/> <feature policy='disable' name='nx'/> <feature policy='disable' name='pae'/> </cpu> It wasn't working before I disabled PAE and NX. Double checked. If I delete <cpu> part and thus leave it 'default', the application won't work.
Third, initially I couldn't use more than two cores with single instance of WinXP because every core was identified as a whole CPU and WinXP is limited to two CPU's. So the idea is to allocate 4 cores and specify topology as 2 cpu, 2 cores, 1 thead. But if I specify ANY cpu topology manually, WinXP uses 100% of all physical CPU cores assigned to them even if guest OS's load is zero. By the way, I got this behaviour from the very beginning if ACPI was turned off for guest OS (which was default). So I rolled back to NOT specifying CPU topology and allocating only two cores to WinXP. Bad... BUT it started working properly after I did the aforementioned 'optimisation' for tnat WinXP instance. Now I have it with 4 cores assigned. Mystery!
Help me please, what did I do wrong way?
Best regards, Dmitry Mikhailov
Server configuration: 2x Intel(R) Xeon(R) CPU E5420 @ 2.50GHz 2x 2GB DDR-II FBDIMM Intel motherboard with 5000P Chipset
Server's Mission: virtualization host system. Virtualized OS's: 1xFile server on CentOS 5.5/32bit 4xWinXP machines for rdesktop each.
Software versions: Before: The kernel was 2.6.32-71.el6.x86_64 I'm sorry I don't have any data on software versions before upgrade. But it was stock CentOS 6.0. I didn't use CR. After: kernel-2.6.32-220.4.1.el6.x86_64 libvirt-0.9.4-23.el6_2.4.x86_64 qemu-kvm-0.12.1.2-2.209.el6_2.4.x86_64