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)
First, check the permissions on your shared folder. Right-click the folder and select Properties. Your Windows user must be allocated permissions on both the Security and 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.
Reboot (or just restart the “Server” service in services.msc – thanks Sergio Francisco for the pointer!). Your problem should now be solved.