This article was previously published under Q289209
When you run a TCP/IP sockets-based program on a server that runs Windows 2000 Server, a memory leak may keep the server from accepting new network connections. Over a period of time, server performance degrades, and the server may lock up. The system log records the following event:
Event ID 2019 Description: The server was unable to allocate from the system nonpaged pool because the pool was empty.
This behavior can occur when a TCP/IP process attempts to open a nonexistent or unsupported socket. When this occurs, the NTFS file system may leave unreferenced file control breaks in memory after it gains access to the attribute list, resulting in a memory leak.
To resolve this problem, obtain the latest service pack for Windows 2000. For additional information, click the following article number to view the article in theMicrosoft Knowledge Base:
260910 How to Obtain the Latest Windows 2000 Service Pack
To work around this behavior, at a command prompt, run a read only "chkdsk" (without the quotation marks) command on each drive in the system. Running the Chkdsk tool temporarily reclaims memory from the nonpaged pool and allows the server to function properly.
Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article.
This problem was first corrected in Windows 2000 Service Pack 2.
For additional information, refer to the following Microsoft Knowledge Base article: