Q. What's the difference between oversubscribing memory and overcommiting memory with virtual machines (VMs)?

A. Are you confused about VM and memory overcommitment? That's understandableā€”I was too, in the past. Some argue that "memory overcommit" is an overused label that in fact describes a situation you don't really want.

I finally got my clarification after watching Ben Armstrong's excellent Tech Ed presentation on Windows Server 2008 R2 SP1's new Dynamic Memory feature.

Taking away for a minute that term's vendor marketing spin (from both companies), I'll share an analogy Armstrong recently told me. While you can argue semantics, this analogy helps to explain why overcommitment isn't a good idea while oversubscription is. Here's a paraphrasing of his story:

Memory overcommitment is, in fact, a bad idea. When you overcommit your memory, you will experience a loss in performance. Overcommittment means that more memory is currently being used by VMs than actually exists on the physical host. Any time you're in an overcommittment scenario, your host must start paging to keep up with VM load.

On the other hand, oversubscription is a good thing. Oversubscription means that more memory has been assigned to VMs than actually exists on the physical host.

Think of this difference like the airlines. With seats on an airplane, oversubscription is a benefit to passengers. Oversubscription in the airline analogy represents when that airline has sold more seats than actually exist on the airplane. This benefits passengers, because there's always someone who oversleeps or misses a connection. Oversubscription means that somebody gets on the flight that might not otherwise.

On the other hand, overcommittment, in both VMs and the airlines, is a bad thing. In this analogy, overcommittment represents when an airline has sold more seats than actually exist, and then everyone shows up. When this happens there aren't enough seats to go around, so somebody's going to get bumped to a later flight.

Armstrong's point is that overselling airline seats and VM memory assignment can represent the same situation. Many of us have benefitted from the airline overselling seats, as we've successfully flown standby for an earlier flight. With VMware's (and now Microsoft's, with Windows Server 2008 R2 SP1) oversubscription capabilities, you can also benefit from overselling your host RAM.

Catch up with @ConcentratdGreg on Twitter!

Hide comments


  • Allowed HTML tags: <em> <strong> <blockquote> <br> <p>

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.