General guidance on disk provisioning for WinSXS growth

Seems like this question has come up a lot this past week at work:

How much space should I plan to provision for my new Vista, 2008, Win7, R2 installs? 

This questions comes up in one of two forms.  Either an admin is planning a new deployment and is just curious, or more likely, machines that were provisioned previously are now running out of disk space because the intial disk roll out was too small (usually these systems are under 20GB). 

My answer to this question is always the same: 40GB

Why 40?  Well it gives you good space growth for the servicing directory, which should be in the range of 7-15GB on most machines.  Keep in mind that as you patch your systems and add new roles and features, the WinSXS directory will grow in size.  Also, 40GB allows you to properly keep a reasonable page file on the system.  We see more and more client systems with 6+GB of physical RAM these days in workstation class machines and if you ever encounter an issue such as bugchecks on those systems, you want to be able to make sure you can properly capture a memory dump so we can look at it.  On server class machines, page files are typically moved from the root, so 40GB is a nice enough number to just secure space for growth without too much worry about space concerns

I know I am also asked a lot about what causes the growth in WinSXS and I've written about it in the past on my teams site: http://blogs.technet.com/b/askcore/archive/2008/09/17/what-is-the-winsxs-directory-in-windows-2008-and-windows-vista-and-why-is-it-so-large.aspx .  If you have to reclaim space, your options are fairly limited.  On Vista and 2008 machines with SP2, you can use the COMPCLN utility to make the service pack permanent and reclaim some space.  If you've already done that, you can force scavenging on the servicing directories by adding/removing a component (I usually use TelNet client because its small and quick).  On Win7 and R2 machines, we auto scavenge at specific intervals, so this isnt necessary and your WinSXS directory is probably correctly reflecting its size.

Hope this helps

--Joseph