Yeah, this will be a technical one, but thankfully pretty short.
I noticed today that both my Vista sp1 machines (one x64 and one x86) were getting a bunch of errors in the log claiming that
The server was unable to allocate from the system nonpaged pool because the server reached the configured limit for nonpaged pool allocations.
The server was unable to allocate a work item 1 times in the last 60 seconds.
This was rather disconcerting as it was making it difficult to copy files between the machines without errors. A quick google search showed I wasn’t the only one and after a little bit of digging, I came on the quick and dirty issue – Vista appears to have some sort of memory leak in the new SMB2 server that makes it eventually reach an internal limit and refuse to allocate any more. This makes network shares break.
Not wanting to just disable the SMB2 sharing as it’s amazingly fast at copying files across gigabit networks, I went looking for the more simple solution but wanted to get some data first. Firing up poolmon to look at the nonpaged pool before and after and restarting the “server” service, I noticed the entry marked “LS2w” dropped from 256k of allocated nonpaged pool to 0 allocated nonpaged pool – fairly obviously the source of the leak (LS2 is pretty clearly an acronym for Lanman Server 2, which is really old school naming).
In any case, the easy solution is to just go into the “Services” part of managing “My Computer” and just restart the “Server” service. Makes the problem go away for another week or two.
In the end, although it didn’t really give me any information to work on the issue, it might be useful for someone at Microsoft if they’re eventually trying to track down the bug. Hope so…