Let’s face it. A lot of companies would rather you be unproductive and waste hours a day rather than spend a couple of hundred bucks on some more memory. I don’t get it, but that’s the world so many of us are forced to live in. You have to beg and plead, write justification, get approval from a handful of VPs only to get some guy at the help desk to tell you that you don’t need any additional hardware. If that’s your case, I sympathize with you as I have been there plenty of times. When people starting seeing the hardware recommendations for SharePoint 2010, many were in shock. Most people were recommending 4 GB to 8 GB of memory just for the virtual machine itself. They are significantly higher than what you could get away with in MOSS 2007. After all with MOSS, I could get by with only 1 GB of memory allocated to a virtual machine. It wasn’t ideal, but it did work ok. If I had 2 GB of memory, things usually ran pretty smoothly. Maybe you will disagree, but that was the case for me at least. Keep in mind that we’re not talking about production here. We’re talking about a development virtual machine.
Today, I will focus primarily on memory since this is where the bottleneck is going to be. When it comes to developing, I have found that any modern CPU seems to do fine when it comes to performance. A faster hard disk is always nice, but really, it’s always lack of memory that causes issues. To date, I have set up three virtual machines on Beta 2: one with SharePoint Foundation, one with SharePoint Server 2010, and one with SharePoint Server 2010 with FAST Search installed. The memory requirements I have seen on these has varied vastly (as you would expect). For today’s post, I am considering a complete self-contained SharePoint 2010 environment on a virtual machine that includes Windows Server 2008 R2, Active Directory, and SQL Server 2008. Let’s start by looking at a summary of my findings.
|Configuration ||SharePoint Foundation ||SharePoint Server 2010 ||SharePoint Server 2010 with FAST |
|Bare Minimum ||2000 MB ||3000 MB ||4100 MB* |
|Visual Studio Running ||2300 MB ||3300 MB ||4400 MB |
Now, I’ll say these numbers are completely unofficial. You may have different results. If you have results you would like to share, please leave a comment. I quoted numbers for Visual Studio separately because you may not have Visual Studio running or you might be an admin or something. Obviously, the memory requirements of Visual Studio vary vastly at times depending on what you are doing, but this is just a guideline. These numbers will also vary depending on what services you have running in SharePoint. In this case, I have every service I can see to start running.
As you can see installing FAST adds considerable demand to your memory requirements. The reason I add the asterisk here is that I think it will probably consume more memory if I make it available.
So what you can take from this is if you just want a quick development environment and you don’t need the full SharePoint Server, you can use SharePoint Foundation to do some development work with relatively “low” memory requirements. You can further use even less memory by using an external SQL Server. On most of my installations, I have found SQL Server using 500 MB – 600 MB of memory. By moving that off to another server, you can really trim down your memory requirements. If you don’t need a domain controller on your server, you can shave a bit more off too (but don’t expect to gain a lot here).
Now, the last thing I will point out is this is what you can get by with. It’s not necessarily ideal. You may find that your hard drive is churning a lot as it is probably doing a lot of swapping. You may find yourself waiting a lot just for the SharePoint site to spin up or to compile and deploy something. It’s better than nothing though. Again, these are just some of the numbers I was seeing on my installations. If you have any numbers you would like to share, please leave a comment.