Recently I have installed SharePoint Server 2010 on Windows 7 Enterprise edition in my laptop. It is really really cool, you really love it because while working we won’t feel that we are working in server box like in Windows 2003 / 2008 server , because of the fancy look and performance. I love it !, if anyone want to know the exact steps on how to setup SharePoint 2010 on Windows 7 please follow this MSDN article
There are people like me who travel most often , use laptop to show demo (on SharePoint) to customers. Though there are so many other options to setup SharePoint development environment like install Windows 2008 Server as a dual boot, or on top of Windows 2008 Server setup VMs in Hyper-V, Create a bootable VHD ( but I am encrypting my HDD using the bit locker so that it won’t be an option for me), setup a VM in virtualbox etc, but I stick with my Windows 7 Enterprise edition and I am happy, why because…please read the details below.
I have installed so many applications like office 2010, my work related CRM tools, and other third party tools in my laptop. Apart from that I have installed SharePoint Server 2010 in standalone mode (Standalone installation will install SQL Server 2008 Express edition automatically – Instance name would be “machinename\SharePoint” ) My laptop’s (Lenovo W500) base configuration is 8 GB RAM , and Intel® Core ™2 Duo CPU P9600 2.66GHz , it is pretty powerful one. Minimum recommended RAM for SharePoint development machine is 4 GB and can give up to 8 GB, but from my experience what I would say that if your development box is not dedicated to SharePoint, say like a laptop for personal / official use as well then that case use at least 6 GB.
What I have seen that whenever I use most of my applications running with SharePoint, memory usage always going up to 4 GB (in between 3.90 and 4.2). Also, most often after my use I always switch off my laptop and will boot it whenever I needed, at that time I have seen machine is taking little bit more time to be in the ready to use state. Reason for the mentioned behavior was because once we install SharePoint there are some (more than 6) services which will be running in behind + SQL service instance service. What I saw that once I stop all those services system will perform well. So, what I thought that use SharePoint only when I required otherwise make my environment as a pure Windows 7 installation for an ordinary user (means not for a SP developer). Because there are so many situations where I won’t touch SharePoint, like writing emails to customers’ , peers, managers, watching movies etc. But it will be little cumbersome once we try to stop all the services one by one and later start all those. There we will get the help of “PowerShell”, I have used 2 PowerShell scripts , one for starting all the services and another one for stopping.
Here is a screen shot of my task manager’s performance monitor that I have taken whenever I use SharePoint and all other applications running in my environment.
The PowerShell script below will just stop all the services one by one and thus we can reclaim memory taken by SharePoint related services. I have attached both the scripts with this post to download or you can just copy and paste the below script into a notepad file and rename it as .PS1 file, after that you can run it from the PowerShell console.
After running the above script my machine was able to reclaim the memory.
Below PowerShell Script will start all the services and you will get your SharePoint environment ready.
NOTE: If you are planning to use these scripts make sure that you configure all those services start as “Manual”. Otherwise once you restart the machine and if all the services are configured as “Auto” or “Auto (delayed)” [however the Auto (delayed) method will give some performance over “Auto”] all service will get started again. Also, don’t practice or implement this in your production environments. All these tips are just for your development machine to make you more comfortable.
IIS – “Ping Maximum Response Time” setting:-
One another tip that I want to mention here is about the “Ping Maximum Response Time” of your Application pool settings. By default its value would be 90 seconds. If you set that value it may end up with an issue while you debug your applications. There might be some situations where you will spend more time in investigating the values of specific variables , debugging line by line etc, in that case you may get an error with message says that “Web site worker process has been terminated by IIS”
When you are debugging, IIS will not service any other requests until you are done stepping through your code. That includes the "ping" request that IIS sends to itself. Since IIS doesn't hear back from itself, it decides to shut itself down, which promptly terminates your debugging.
The solution is to increase the Ping Maximum Response Time in the application pool settings from its default value of 90 seconds. Set it to something high enough that will give you enough time to debug your code (like maybe 300 seconds).If you want to know the exact steps please follow this MSDN article.
Hope these inform will be helpful. Please find the attached PowerShell script for testing.