Thank you both for replying!
Background:
I'm new to the VM-world and I mostly feel like I'm one of the Keystone Kops and stumbling blindly around the VM-world. I find many things extremely frustrating and often information isn't where I would think to look. Thank the good Lord that Google does a good job.
I also thank those of you who have been helping me as I flounder around. One of the things I'm struggling with is the Performance Measurement and Tuning area.
I'm playing with the limited performance tuning options I have and struggling with a dearth of good information about what the measures that I'm given mean and what the various knobs do and what the implications of twisting one are.
The purpose of my question is to isolate (or lock down) some stuff to get it out of the picture and see what happens when I do that. Biggies are CPU, Memory, & I/O. If I can lock down CPU and Memory and things improve, then the problem was Memory or CPU. Otherwise it's I/O. If this is faulty thinking please let me know why.
OK, back to the question at hand:
The memory reservation is what I was thinking and that will reserve a specific amount of memory. But when I tried to type in 4GB it complained that I couldn't go bigger than 2xxxMB. How can I reserve 4GB ? The machine has 12GB.
The idea was that if I reserved X amount and I allocate no more than X to the guest, then it will never use more and will therefore never swap (by VM). This memory would be effectively reserved to the guest and no interferrence by VM thus locking VM Memory management out of the picture. Is this correct?
I knew about processor affinity and, now that you mention it, about keeping away from CPU 0. If I understood you correctly, in order to do a CPU dedication, I'd have to assign everybody and manage that. That would be a chore but for my purposes it may be a reasonable thing to do. I'd much rather be able to tell VM to reserve 2 CPUs (Cores) for guest 1, and 1 CPU (Core) for guest 2, and everybody else can use the remainder as vm would like to manage it.
Can I make a reservation for X Mhz equivalent to 2 cores to guest 1? And would that mean that if guest 1 wasn't using them then that much would always be idle? And how would I go about measuring to see if what happens is what I think should be happening?
Contrived example:
Suppose I assign 2/6 of the Mhz available to an idle 2 cpu guest 1 and guests V, W, X, Y & Z start using 100% for some nefarious reason (5 single cpu guests each looping at 100%), what percent would each of the physical processors (6 of them) be running?
Or to ask it another way, let's say each CPU is 100Mhz giving 600Mhz totally available on the host. 200Mhz is reserved to guest 1 which is idle. Each of another five guests are each trying to use 100%. If things were unreserved they would get 500Mhz (I think). Do they get more than 400Mhz ? Yes (& why)? or No?
How can I measure to see what is actually happening?
Regarding defeating the primary purpose of virtualization. I would say that hosting multiple guests on a single piece of hardware is the primary reason to virtualize. Equally important are the DR/BC aspects and, for me especially, the remote management aspects are a primary feature. I'm sure each of us has their own "Primary" with respect to virtualization.
Again, thanks to all who participate in the forums helping those of us who are struggling with making the product an effective tool in our workplace!
Blessings,
-g