When there is a lot of contention for resources on a Windows 2000 Exchange server, the computer may find that most of its threads get blocked, causing new threads to be created. This can cause the computer to run out of virtual address space.
To mitigate the problem, first apply Windows 2000 Service Pack 1.
Then cause RPC to delay the creation of new threads, after it reaches the thread limit. To do this, use Regedt32 to create the following key:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\<Image File Name>\RpcThreadPoolThrottle
where <Image File Name> is the program name, Rtsvr.exe.
On the Edit menu, use Add Value to create and configure the following values:
Value name: ProrateFactor Value type: REG_DWORD Value data: Additional delay in milliseconds that each new thread waits. Value name: ProrateMax Value type: REG_DWORD Value data: Limit, in milliseconds, on how long the creation of a new thread is delayed. Value name: ProrateStart Value type: REG_DWORD Value data: The number of RPC thread pool threads after which thread delay starts.