You are on page 1of 1

FAQ: How are Automatic Memory values calculated in PowerCenter?

Answer

When you use Automatic Memory Settings, you will have to specify the following two
maximum values for memory attributes:

1. Maximum Memory Allowed For Auto Memory Attributes (which is noted in


absolute terms),
2. Maximum Percentage of Total Memory Allowed For Auto Memory
Attributes (which is a value relative to the total memory used in the session).

The PowerCenter Server will first determine which value is lower, the hard coded value
or the total percentage of the available memory.
It will divide this value amongst all caching transformations.
Each transformation cache is worth a certain number of units, with each unit counting
as a "share" of the total allocated memory.
Following are the ratio used on PowerCenter:

1. LKP, AGG, RANK, JNR index cache - 1 unit


2. LKP, AGG, RANK, JNR data cache - 2 units
3. SORTER - 8 units
4. XML Target - 10 units

Example

A Sorter cache is always 8 times bigger than lookup index cache and 4 times bigger
than lookup data cache
If you have a mapping with a Sorter, an Aggregator and two Lookups, you would
divide the available memory by (8+1+2+1+2+1+2) 17.
Out of which, 8 units will go to the Sorter cache and 3 each to the Aggregator and
Lookups.
This calculation happens each time the session runs and there is no averaging over
time.
This can result in "wasted" memory, if one lookup is larger than the other, or if the
Sorter is very small.
Auto-caching is most useful for quickly setting and limiting memory usage for a
session.
If your goal is to optimize performance, do not use Auto-caching. Instead use
calculating the values manually.

You might also like