I’ll let the image for this post do the talking. It is a freshly installed Windows 2008 R2 Datacenter VPS that I quickly provisioned in my test lab (for testing :)). The only thing installed was ClamAV/ClamWIN and Firefox was open with a single tab.
However the memory usage itself was coming from something less obvious. This server boots up and initially uses “697MB” of RAM (quite hefty in my opinion at least compared to the lightweight world of Linux). From that point it only goes downhill in terms of memory usage.
The memory usage ballooned quickly to nearly 1.2GB and was steadily climbing all because of Windows Update doing updates.
This is staggering because many VPS Plans and providers will allow you to run Windows 2008 Server on as little as 512MB of RAM and as we can see below 1GB of RAM isn’t even enough. In fact it could be argued that the real minimum is probably at least 2GB for basic usage (which I define here is just running Windows Update!).
Windows poses unique challenges for virtualization environments and hosts because even a single Windows VPS will start swapping easily with less than 2GB of RAM. The problem with swapping of course is high and constant disk IO/bandwidth being consumed by a single VPS.
As shown in the pic above it doesn’t take much to get into high RAM usage territory and is also likely why some feel Windows does not run well in a virtual environment. In my experience it runs lightning fast and at bare-metal speed but it won’t seem that way if someone tries running it with less than 2GB of RAM.