Our ASP.NET app uses a component that is licensed by the number of processor cores. Unfortunately, our customer wants to deploy the app onto a multi-function server (IIS, SQL Server, file server, etc.) that exceeds the number of processor cores for which the customer is licensed: they are allowed four cores but have two processors with four cores each. Can I configure IIS 6 on a Windows Server 2003 machine to use only one processor?
4 Answers
You can set processor affinity (and thus limit to 1 processor) per application pool, which would effectively limit the app that runs in that pool to use one processor. This will limit the w3wp process to only use one processor, which is hopefully all you need to comply with this licence. The other IIS services (admin service etc) will still use both CPU's
You can find the details on how to do so here.
Firstly you should put the app in it's own application pool, you can then set affinity for each app pool in the metabase. Allowing you to limit that one web app without limiting anything else.
You can configure Windows to use only a specified number of processors in the boot.ini file via the /numproc switch. Of course this disables those processors for the whole OS, not just IIS.