XOSoft WANsync errors "1450 Insufficient System Resources exist to process the requested command”

I'm running XOSoft WANsync for real time replication from our primary NOC to our DR.  I currently have several source servers going to a central replication staging server.  Then from there I replicate to our DR site.  This allows for faster replication across a LAN connection first.  Creates a backup of the data.  Reduces load on the source servers.  Consolidates licensing.  From this staging server we replicate across the WAN.

This staging server happens to be a 32bit OS.  I didn't think it would take up a lot of resources except for disk space.  The server started encountering errors: “1450 Insufficient System Resources exist to process the requested command”.

This is what support provided below:

This is being caused because the Paged Pool Memory is being exceeded.  The WANSync logs should indicate these errors as well as the Windows Application log.

WANSync Logs:

“error->XOFS error: Xofs: Memory allocation failed (1450) (Insufficient system resources exist to complete the requested service.(1450))”

“error->Received fatal error from XOFS ... Stopping (Insufficient system resources exist to complete the requested service.(1450))”

“error->Could not rotate journal for ,  error 1450”

Windows Application Log errors:

“ERROR 1450: Insufficient system resources exist to complete the requested service”

“ERROR 1450: / hex 0x5aa ERROR_NO_SYSTEM_RESOURCES”

“Operating system error 1450 Insufficient system resources exist to complete the requested service”.

“Write on "device" failed, status = 1450”

Error ID: 1450 “Insufficient System Resources” error occurs when the total amount of available “Paged Pool Memory” is exceeded.  This can occur when there are more files open than the memory cache manager can handle.  This error typically occurs when the Maximum available Paged Pool Memory is exceeded.

The amount of Paged Pool Memory available is going to be dictated by whether the system is a 32bit or 64 bit OS.  This issue typically occurs in 32bit systems, where the total limit to the amount of addressable address space is 4GB.  Based on how the Windows Operating System handles Physical Memory with its use of Virtual Memory, the maximum amount of Paged Pool Memory allocated to the Kernel becomes approximately 352MB*.  This is the Maximum amount of Paged Pool Memory available on 32bit OS, regardless of the amount of physical memory.  This error is can occur when there are so many open files that Paged Memory is completely consumed. It can also occur when there are a significant number of files being opened and closed in very quick succession such as with a Backup Program in process or a replication solution.   You can verify the amount of Paged Pool Memory being consumed by using Windows Task Manager (This would need to be done AT THE TIME the Paged Pool Memory was exhausted):

Using Windows Task Manager to Verify Paged Pool Memory Usage:

  1. Start Windows Task Manager 
    •  Hit “CTRL + ALT + DELETE” then goto TASK MANAGER
    • ‘Right-click’ the Task Bar and select TASK MANAGER
  2.  Goto the PERFORMANCE tab.
  3. In the KERNEL MEMORY area, note the following value for PAGED. This value should not be above 352Mb* 
*In the case of a server using the "/3GB" switch in the Boot.ini file, this lowers the maximum allowable Paged Pool Memory to approximately 160MB.

The amount of Paged Pool Memory being used may not currently be beyond the limits even after reviewing a short time later.  The existence of the error still indicates that the problem was present at that time, even if it was for only a short period of time in duration.  The problem will frequently occur even when there is sufficient memory available to process the request.  This is due to how the Windows Memory Manager handles the memory cache.  The memory cache acts like a journal listing the virtual memory and the processes consuming it and the correlation to the memory address on the physical memory.  Windows begins flushing the cache of files no longer open to free the memory space for a new file.  It purges the cache when it reaches 80%, by default.  There can be a situation with backup processes and replication processes, where a significant number of files are being opened and closed very quickly.  In the case of the 1450 errors, typically the number of files being opened are occurring faster than the Windows Memory Manager can flush.  This is because the memory manager begins flushing at 80%.  The instructions below will configure the memory cache manager to begin flushing the cache sooner.  This will allow for more efficient use of memory cache and reduce the chances of this issue recurring.

Resolution:

You should make both registry changes listed below.  It is strongly recommended to make the changes to both the Master and Replica servers.

Registry setting 1
  1.  Click Start, click Run, type regedit in the Open box, and then click OK.
  2. Locate and then click the following registry subkey: 
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management 
  3. On the Edit menu, point to New, and then click DWORD Value.
  4. Type PoolUsageMaximum as the entry name, and then press ENTER. 
  5. Right-click PoolUsageMaximum, and then click Modify. 
  6. Click Decimal. in the Value data box, type 60, and then click OK.
Important:
**Use 60 as your initial value. If you continue to encounter “1450 Insufficient
    System Resources” errors, then use 40 as your value. (The Windows Default value
     is 80 (Value is a percentage (%)).

**Make sure that the value for this registry setting is not more than 60.

**If you are using the /3GB switch, use 40 as your initial setting.  (Note: This value
    is a percentage (%) value.)


Registry setting 2

  1. Click Start, click Run, type regedit in the Open box, and then click OK
  2. Locate and then click the following registry subkey: 
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management 
  3. On the Edit menu, point to New, and then click DWORD Value.
4.    T ype PagedPoolSize as the entry name, and then press ENTER.
5.     Right-click PagedPoolSize, and then click Modify.
6.    Click Hexadecimal.
7.    In the Value data box, type a value of FFFFFFFF, and then click OK.



After BOTH Registry changes have been made you’ll need to:

1.    Close the Registry Editor
2.    Reboot the server

**Make sure to apply the change to both the Master and
  Replica servers.

**Make sure to reboot the servers after the registry
  changes have been applied.

**Make sure to stop the WANSync scenario before rebooting
  the servers.

**Make sure to restart the scenario and resynchronize when
  the servers come back online.

If this still doesn't resolve the problem, then upgrading to a 64 bit platform will allow more memory to be allocated to the kernel processes and allow you to extend the Paged Pool memory beyond the 352MB limit (160MB with the "/3GB" switch in the boot.ini file).



See Also:

http://support.microsoft.com/kb/304101