The $ZF heap is used for output parameters in a callout function using $ZF. For details, see the chapter “Creating a Caché Callout Library” in Using the Caché Callout Gateway.
Two comma-separated values configure the $ZF heap. From left to right:
zfstrsz is the number of characters Caché allows for a single string parameter on the $ZF heap. How many bytes this actually requires depends on whether you are using 8-bit characters, Unicode (2-byte characters), or 4-byte characters on UNIX®. The range is 0–32767. A value of 0 tells Caché to determine an appropriate value for zfstrsz automatically. The default is 32767 characters.
zfheapsz is the number of bytes Caché allocates for the $ZF heap for all purposes. The $ZF heap consists of the total number of bytes allocated in virtual memory for all $ZF input and output parameters, including the space for strings allowed by the first value. The range is 0–270336 bytes. The default is 0. A value of 0 tells Caché to calculate an appropriate value for zfheapsz automatically, based on the value of zfstrsz.
The formula for calculating zfheapsz based on zfstrsz is as follows:
zfheapsz = (BytesPerCharacter * zfstrsz) + 2050
For example, if zfstrsz has the default value, 32767:
If you are using Unicode, a single character is 2 bytes. The value for zfheapsz is then 67584 (or 2 * 32767 + 2050) bytes.
On UNIX®, a single character is 4 bytes. The value for zfheapsz is then 133118 (or 4 * 32767 + 2050) bytes.
InterSystems recommends that this parameter be set to 0,0.
As described above.
On the page System Administration > Configuration > Additional Settings > Advanced Memory: