Jump to content

not enough storage is available to process this command


rvankleeck

Recommended Posts

I have several users running Windows XP SP2 and Outlook 2003. They save many of their e-mails to a network drive. When they save these e-mails, they first change the subject line (or the name of the file) and then save it as a .msg file to a network drive. After they have saved numerous e-mail successfully, they will inevitably receive the error "not enough storage is available to process this command" when trying to save these files to a network drive. At that point, they cannot save anymore e-mails until they reboot their machine. Does anyone know what the fix is for this error?

Link to comment
Share on other sites


You should be getting an event in the eventviewer on a machine exhibiting these symptoms - any idea what the source and event ID number are for these? Usually, this is a network issue caused by a low memory condition - the storage space in question isn't a storage space issue that you'd think of as in disk storage, but as in space in memory to store another request. You can try a few things to get around this, but it's almost always a low memory condition on the workstation that is causing these errors.

This can be caused by the server service running out of process memory, by a process on your system consuming memory handles and not releasing them properly (*cough*antivirus*cough), or even too many values in a particular registry key on the system (HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanmanServer\Parameters\NullSessionPipes).

You can try a few things on your workstations to see which (if any) of the following makes any difference:

1. You can modify the IRPStackSize parameter in the registry to increase the memory size made available to new applications.

Key: HKLM\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters

Value: IRPStackSize

Type: REG_DWORD

Data: 15 (can set as high as 50)

The default in NT and 2000 is 11, and in XP and 2003 the default is 15. The allowed values are 11 - 50 for this entry. A higher number will result in more memory size available for new applications, but can cause issues on systems running large numbers of applications.

2. You can try increasing the "beef" of the Memory Manager in Windows by making the following changes (these need to be made as a set - you can't just set one or two, you have to use all or nothing or the changes won't make much difference):

Key: HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management

----------

Value: LargeSystemCache

Type: REG_DWORD

Radix: Hex

Data: 0

Determines whether the system maintains a standard size or a large size file system cache, and influences how often the system writes changed pages to disk.

Possible values:

0 - Establishes a standard size file-system cache of approximately 8MB. The system allows changed pages to remain in physical memory until the number of available pages drops to approximately 1,000.

1 - Establishes a large system cache working set that can expand to physical memory, minus 4 MB, if needed. The system allows changed pages to remain in physical memory until the number of available pages drops to approximately 250.

----------

----------

Value: PoolUsageMaximum

Type: REG_DWORD

Radix: Hex

Data: 3C

Determines when the Memory Manager starts trimming the PagedPool area of kernel memory, to free up space for additional resources that may need space in the kernel's PagedPool memory area. The default for this trimming process is 80 percent.

Setting the value at 3C (60) informs the Memory Manager to start the trimming process at 60 percent of PagedPoolMax rather than the default setting of 80 percent. If a threshold of 60 percent is not enough to handle spikes in activity, reduce this setting to 50 percent, or even lower.

----------

----------

Value: PagedPoolSize

Type: REG_DWORD

Radix: Hex

Data: 0

Determines the size of the kernel's PagedPool memory area that is created during the boot process. Setting PagedPoolSize to 0 allows the Memory Manager to determine the appropriate PagedPool memory size during the boot process.

----------

----------

Value: SystemPages

Type: REG_DWORD

Radix: Hex

Data: FFFFFFFF

Defines the number of system page table entries that are reserved for mapping I/O buffers and other information into the system address space. Each system page table entry maps one page.

Possible values:

0x0 - The system calculates an optimal number of page table entries based on the platform type and the amount of memory available to the system. The system adjusts this value if the amount of memory changes.

0x1-0xFFFFFFFE - Specifies the number of reserved page table entries. This value takes precedence over the system's calculated value, and it prevents the system from adjusting the value.

0xFFFFFFFF - Maximize system pages. The system creates the largest number of page table entries possible within physical memory. The system monitors and adjusts this value dynamically when the configuration changes.

Approximate values

FFFFFFFF = tells OS to set the maximum number of PTEs allowed

24FFF = 150,000 PTEs

BFFF = 50,000 PTEs

7FFF = 32,000 PTEs

----------

Otherwise, running perfmon against the machine in question until the machine starts exhibiting symptoms is the only way to see what, if anything, is using large amounts of memory, or if you have an application that is "leaking".

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...