Rsync Memory Allocation Error

Recently, I’ve been working to improve our data backups at home (stay tuned for a future article). Part of my backup strategy involves syncing our main data repository with a drive in another system. This is done using rsync, one of my favorite Linux utilities.

I’ve used rsync successfully for many years, but recently I started experiencing a “memory allocation error(12)” while syncing data between my Linux system and a Windows Vista system, with the Linux system as the source.  Using the Vista system as the source did not result in this error.

I searched all over the web looking for a resolution, but information was minimal and the best answer I found was to try splitting the  rsync command into smaller chunks. Unfortunately, that didn’t work.

I noticed when this error occurred, the shares on the Vista system became inaccessible with a reboot of Windows the only workaround. This led me to investigate the event logs on the Vista machine. Lo and behold, there in the system log I see this:

“The server was unable to allocate from the system nonpaged pool because the server reached the configured limit for nonpaged pool allocations.”

A quick online search for this error message indicated it was caused by a problem with SMBv2, which is the default version of SMB used  in Windows Vista. However, you can force Vista to use SMBv1 by making a simple registry change.

HKEY_LOCAL_MACHINE ->SYSTEM ->CurrentControlSet ->Services ->LanmanServer -> Parameters and create a DWORD called SMB2 with a value of 0.

With the value set in the registry and a quick reboot of Vista, rsync was able to complete successfully.

Leave a comment

You must be logged in to post a comment.