Tech Note 768 InTouch WWHeap Memory Management
Tech Note 768 InTouch WWHeap Memory Management
All Tech Notes, Tech Alerts and KBCD documents and software are provided "as is" without warranty of any kind. See the Terms of Use for more information.
Topic#: 002547
Created: April 2011
Introduction
This Tech Note outlines how to modify the WWHeap memory settings in the registry. It also includes the reasons why and what
application scenarios these adjustments are recommended for.
Application Versions
InTouch 10.x
Note: Version 10.1 SP3 P1 and higher will automatically adjust the WWHeap Memory Range to a default maximum of 1.5 GB on a 32-
bit system and a default maximum of 2 GB, if the 3GB switch is used on a 32-bit version of Windows (refer to TN 732 at the end of
this Tech Note), and to 2 GB on a 64-bit version of Windows.
WWHeap Explained
WWHeap is a range of memory allocated by the InTouch installation which is used to allocated shared memory by WindowMaker and
WindowViewer. Certain components of InTouch require memory resources during runtime. The WWHeap allocation is meant to ensure
enough memory is available for the application to run properly.
InTouch Windows utilize WWHeap memory and certain components on a window will use more memory such as large bitmaps,
detailed graphic components and wizards. The more windows used in an application, the more WWHeap necessary to handle them.
Note: If Always Load Windows from Disk is checked windows are then loaded from disk and use only the required amount of
WWHeap memory space while the window is displayed. Once the window is closed, the WWHeap releases the memory that had been
allocated for the window.
The Tagname Database utilizes WWHeap memory. The more tags in an application, the more WWHeap memory is necessary to
handle them.
Other InTouch components that utilize the WWHeap memory are WindowMaker, HD and SPC Pro.
You can choose whether wwHeap should start its search for free memory maps at the zero index or the most recently used index.
This allows programs with smaller memory requirements to 'conserve' memory addresses, while those with larger memory
requirements can be optimized to find available memory more quickly. The default behavior is to start the search at the zero index
each time, as this is the original wwHeap behavior. You configure the setting using the registry. You cannot change the value until
wwHeap is completely reset, which means that all programs using wwHeap have been stopped.
When wwHeap is first started, it can read an optional .INI text file containing a list of reserved memory addresses into which it
should never allocate memory. This helps to avoid heap share allocation errors with third-party modules that are not necessarily
loaded at system startup. The .INI file's path is read from the registry.
Note: The wwHeap configuration information is always written to the Log Viewer at least once when wwHeap is first accessed by any
program. This provides a record of the wwHeap configuration for diagnostic purposes.
WWHEAP WWHEAP Base Address 0x3FFE0000 End Address 0xBFFE0000 and WWHEAP WWHEAP Memory Range 2048 MB (32768 Maps)
Conserve Memory 1
Memory Conservation: Enable - Search for free memory starting at the beginning of the memory range
Memory reservation .ini file: DO NOT MODIFY the process .ini file (we recommend no changes be made to the default setting)
Memory Range
1. Create a DWORD registry entry with the value MemoryRange under the following key:
Starting Address
1. Create a DWORD registry entry with the value BaseOffset under the following key:
HKEY_LOCAL_MACHINE\Software\Wonderware\wwHeap
2. Set it to the desired memory base offset. The start and end memory addresses are written to the Log Viewer.
Memory Conservation
1. To enable the efficient free-memory search algorithm, create a DWORD registry entry with the value ConserveMemory under the
following key:
HKEY_LOCAL_MACHINE\Software\Wonderware\wwHeap
Note: As always, take extra care and create a backup prior to making adjustments to the Windows Registry.
Additional Resources
Tech Note 732 Wonderware Memory Manager Configuration Best Practices
Tech Notes are published occasionally by Wonderware Technical Support. Publisher: Invensys Systems, Inc., 26561 Rancho Parkway South, Lake Forest, CA 92630. There is also
technical information on our software products at Wonderware Technical Support.
Back to top
©2011 Invensys Systems, Inc. All rights reserved. No part of the material protected by this copyright may be reproduced or utilized in any form or by any means, electronic or
mechanical, including photocopying, recording, broadcasting, or by anyinformation storage and retrieval system, without permission in writing from Invensys Systems, Inc.
Terms of Use.