I’m using my Windows 7 machine as a file server in addition to it being my Media Center. I’m mounting a Samba (smb) share using CIFS from my Linux server so I can synchronize files using rsync. However, I ran into a problem after using the mounted share for a small amount of time. I found a simple solution after a bit of research.
After running rsync for a short amount of time, I discovered that I was getting memory allocation errors related to the Windows share. After unmounting, I attempted to remount the share and received the error:
mount error(12): Cannot allocate memory
Refer to the mount.cifs(8) manual page (e.g.man mount.cifs)
After checking the Event Viewer System log, I found the following error:
Source: srv
Event ID: 2017
Level: Error
The server was unable to allocate from the system nonpaged pool because the server reached the configured limit for nonpaged pool allocations.
Some research led me to find this Google Groups discussion about the problem and this Microsoft Technet article discussing the solution (look at the bottom of the page). Apparently you need to tell Windows that you want to use the machine as a file server and that it should allocate resources accordingly. Set the following registry key to ‘1′:
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\LargeSystemCache
and set the following registry key to ‘3′:
HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\Size
After making these changes and restarting, I haven’t seen this issue arise again. Fixed!
Reference: http://alan.lamielle.net/2009/09/03/windows-7-nonpaged-pool-srv-error-2017