When I talk about virtual desktop specifications, we often break down our users into a few different categories (Light, Normal, Power, and Heavy). These categories correspond to the resources we allocate to the virtual desktop (assuming we are talking about the hosted VM-Based desktop model). This should be no surprise. This discussion directly relates to the resource allocation to the virtual desktops. We want to make sure we provide what the users require. No more and no less. Of course I always get the question about memory ballooning, memory overcommit, dynamic memory, etc. I briefly touched upon this in a previous article where I talked about Improper Resource Allocation as part of my Top 10 Virtual Desktop Mistakes series.
I usually recommend against these technologies for virtual desktops because we are dealing with users. Most users will slowly start to consume more RAM as the day progresses. This is because
- They are using more applications
- They are using more features within applications, think about your browser. By the end of the day, you have more tabs open than in the morning, thus consuming more RAM.
- The application, if closed, probably does not fully release memory.
Don’t believe me? This is a graph for my own desktop as the day progresses (I have similar ones for different days and they all look similar). Red line is RAM and blue line is CPU
As you can see I start under 2GB used but as the day goes on, I increase to about 3.5GB. You can easily see when I start new applications and close applications. But by the end of the day, I typically have 5-10 different applications open and some consume a lot of memory.
Although I like to believe that I am special, I am just like many other users (at least from desktop usage characteristics). We leave applications open. So if we over allocate RAM, we run into a major risk at the end of the day when users are trying to finish things up before they head home. There isn’t enough RAM to go around. That means we page to disk and we all know how fast disks are. We are killing the user experience because performance has gone right down the drain.
Now comes an interesting question. If you looked at your overall user connection counts throughout the day do they go up or down? Meaning is the maximum number of virtual desktops happening in the latter part of the day or the beginning? If your user counts go down as the day progresses, memory overcommit might be interesting because we would have more RAM being freed up to help support those users still connected. Of course this is all a balancing act. But we have to remember 1 critical detail…
As I am a user, I want a good experience. If I don’t get it, I will take this virtual desktop and tell you what I really think, virtually