CPU or RAM for multiple virtual machines ?
Hey people , havnt been on here for a while, hope all is well.
Im technically retarded when it comes to hardware so forgive me. Whats best for running multiple vm's on virtualbox ? cpu or ram ? They arnt running any resource extensive applications, nor are they connecting to the internet, just to each other. Maybe a windows7, a slackware and a debain. Would a 1.3GHz dual-core i5 and say 4gig of ram running wheezy handle that ?
I've got really no idea, tired to do some research and found some threads on 'parallels' forums but i thought id ask LQ.
thanks in advance.
From my experience (which is limited) they both are equally important. The CPU needs to be powerful enough to push the vm's. More vm's more process intensive especially if those VM's are running multiple apps. The RAM is very important because every VM is allocated a certain amount of RAM, so every running VM will subtract its allotted RAM from the total system RAM. More RAM=more VM's and better CPU is going to directly affect performance. Your system should definitely be able to handle that load. Keep in mind your total amount of system RAM, the number of VM's you want to run, and the host OS. They all need RAM but give bias to the host I would assume because that's the one running the show.
Well i have a i5 sandybridge i think it was the 2500 8 gigs ram.
I run my router in a vm, nas in another and a httpd server with mysql serving a handful of students online training.
I find that i should have looked more carefully at the mobo. Should have gotten one that supports vtd properly and hard drives.
My biggest issues are seen in terms of io wait and bsd systems still a little so so in supporting virtio drivers.
Overall, for my small language school, i find that most the time the host is running.
The nas sucks a lot of resources with cifs transfers and the speeds are somewhat slow. Approx 10mbps/s . I have not yet bothered to check where the bottle neck is, but it will likely be
1. Allocated ram below that stipulated as recommnded.
2. The use of cifs rather than nfs
3. Running of a 2tb 5200 rpm disk.
The router seems to be doing fine at the moment. Biggest memory hog is snort analyzing and the firewall actively blocking ip adresses from snort alerts.
Now i have not had the opportunity to properly load test the system but for a really small business at the moment, i have no complaints. It serves my current needs.
I would certainly recommend you be careful with running gui's but my headless setup seems to work ok.
In any case, when working with multiple VMs I would always opt for a quadcore CPU as minimum and at least 8GB of RAM, but without knowing what exactly you want to do it is hard to tell.
Experience shows that Windows up to XP/2003 is ok with 1 CPU core, but from 7/2008 it may struggle with just one core, so best is to assigne at least 2 cores.
Haven't figured out what this kind of struggle caused, but an equally configured 2003 VM would be fine, a 2008 VM sometimes just freezes for some time but comes back later on.
basically it's all down to testing since it depends a lot on your actual use case.
There is no reason that I'd limit cores unless you are trying to limit clients. Let the host and clients have them all. It is all dynamic to load. On some systems I might direct a client to run a particular core or cpu but it is rare.
You could easily run one instance of each on that system. All three may be at the edge.
Your limit is ram. That VM can't let you use page file like qemu might so you are really limited to some 1.8G ram to clients is my wild guess. Some new systems and new VM's can dynamically allocate ram. Not sure if your vm can yet. Someone may know for sure on that.
To save some ram, you could install 32 bit clients. For example you can actually run W7 on 500M in 32 bit. Even W2003 could be run quite sparse.
The only other way may be to use some other type of vm like esxi or proxmox. Still some bare metals take a lot of ram. Limiting ram on host may allow more client ram. Some dynamic ram vm's may need chipset support as I recall. Could be wrong on that now.
So for 1 core you will need no less then 2G ram and ideally you will have 4G ram for each core as you are talking a win7 in the mix as VirtualBox will have a low powered GPU for the VM win7 will be sucking up more ram then normal.
so for semi good performance an i5 quad core with no less then 16G ram in the system will give you passable performance.
with the i5 dual core you mention in your post, you would be able to run 1 VM at a time and no more.
|All times are GMT -5. The time now is 10:20 AM.|