how to set cpu count - multiple linux/win guests
Posted: 18. Mar 2012, 10:44
hello there,
I've got a server machine with 2x Intel Xeon E5410 (so in total 8 cpu cores), 12GB ram (planing to increase to 20GB), etc, host OS is Ubuntu server 64bit,
my guest VMs:
1, suse linux - very shallow usage, legacy system is running there, 1.5gb ram
2, win xp - serves 9 extra-thin terminals, light use, 768mb ram
3, debian linux - heavy use, 5 tomcat instances with random performance peaks, 4gb ram
4, win7 64bit - medium/heavy use, erp system which serves 15-20 users, mssql server, 5gb ram
5, (planned) winxp - light/medium use, will be used for rdp sessions to run various background tasks
right now, I've assigned all 8 cpu cores to every machine. My idea behind is to get highest possible performance when one of the VMs needs it at the time. But the recommendations I get from various threads here suggest, that it's not the best idea.
question1: how to set up cpu count to get (reasonable) high performance on any machine when it needs it? I could use more threads/cores for example in Debian machine, where there are multiple tomcat instances and they could use more parallel processing power.
question2: how to set up cpu execution cap? I set it up to 90% for every VM, so the whole machine won't get slowed down when some VM needs to do a heavy processing for like 1 hour. From what I've heard, cpu execution cap "feature" has it's performance drawbacks, is it true? Is my idea behind it wrong?
edit: also my empirical observation - win7 64bit is much slower (it feels much less responsive) than winxp, don't know exactly why, sure win7 is more demanding on (virtual) hardware, but I thought win7 would be more friendly towards virtualbox. Also some reading about Virtio net drivers is waiting for me
I've got a server machine with 2x Intel Xeon E5410 (so in total 8 cpu cores), 12GB ram (planing to increase to 20GB), etc, host OS is Ubuntu server 64bit,
my guest VMs:
1, suse linux - very shallow usage, legacy system is running there, 1.5gb ram
2, win xp - serves 9 extra-thin terminals, light use, 768mb ram
3, debian linux - heavy use, 5 tomcat instances with random performance peaks, 4gb ram
4, win7 64bit - medium/heavy use, erp system which serves 15-20 users, mssql server, 5gb ram
5, (planned) winxp - light/medium use, will be used for rdp sessions to run various background tasks
right now, I've assigned all 8 cpu cores to every machine. My idea behind is to get highest possible performance when one of the VMs needs it at the time. But the recommendations I get from various threads here suggest, that it's not the best idea.
question1: how to set up cpu count to get (reasonable) high performance on any machine when it needs it? I could use more threads/cores for example in Debian machine, where there are multiple tomcat instances and they could use more parallel processing power.
question2: how to set up cpu execution cap? I set it up to 90% for every VM, so the whole machine won't get slowed down when some VM needs to do a heavy processing for like 1 hour. From what I've heard, cpu execution cap "feature" has it's performance drawbacks, is it true? Is my idea behind it wrong?
edit: also my empirical observation - win7 64bit is much slower (it feels much less responsive) than winxp, don't know exactly why, sure win7 is more demanding on (virtual) hardware, but I thought win7 would be more friendly towards virtualbox. Also some reading about Virtio net drivers is waiting for me