Mount.cifs cannot allocate memory mounting Windows share

Mounting a Windows (SMB) share on Ubuntu gives us a “cannot allocate memory” error.

Executing a command like this:

mount -t cifs //toad/Backup /media/backup -o user=username,password=password,iocharset=utf8,file_mode=0777,dir_mode=0777

We get an error like this:

mount error(12): Cannot allocate memory
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

Solution:

First, check the permissions on your shared folder. Right-click the folder and selectProperties. Your Windows user must be allocated permissions on both the Securityand the Sharing tabs.

Open regedit, and set the following registry key to ‘1’. This key tells Windows to set aside enough system cache for sharing large files. Commenter Raoul Duke (thanks!) adds that this change is unnecessary on Windows 7 and later.

HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\LargeSystemCache

And set the following registry key to ‘3’. This value tells Windows to prioritise file sharing over reducing memory usage. You can read more about this key here.

HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\Size

Reboot (or just restart the “Server” service in services.msc – thanks Sergio Francisco for the pointer!). Your problem should now be solved.

Links

http://alan.lamielle.net/2009/09/03/windows-7-nonpaged-pool-srv-error-2017