To avoid this issue, you can set the number of CPUs available for the RS application pool in IIS. The goal is to set it to the maximum number of CPUs at the application pool level to avoid RS having to try and change this dynamically.
For example on a system with 4 dual-cores, set the application pool to use only 4 logical CPUs. When you do this, RS will not call SetProcessAffinityMask API and hence the hang condition can be avoided.
To configure processor affinity for your application pool use one of the following methods depending on the edition of IIS server in your environment:
- IIS 6: Refer to the following topic on Technet: Set Processor Affinity (IIS 6.0)
- IIS7: On IIS 7 use the following procedure:
- Launch IIS manager by running Inetmgr.
- Go to Advanced Settings of the RS application pool and do the following under the CPU section:
- Set the Processor Affinity Enabled option to True
- Set the value of Processor Affinity Mask to 15. (This forces the application pool to use only on the first 4 processors on the system.)