Skip to main content

zfheap

Define the size and configuration of the $ZF heap.

Synopsis

[config]    zfheap=ZFString,ZFSize

ZFString is an integer in the range 0—32,767. The default is 0.

ZFSize is an integer in the range 0—270,336 (bytes). The default is 0.

Description

zfheap contains two comma-separated values which configure the $ZF heap: ZFString and ZFSize. For more details about the $ZF heap, see Creating a Callout Library.

ZFString

ZFString is the minimum number of characters that are reserved in the $ZF heap for output strings other than IRIS_EXSTR strings. When set to 0, InterSystems IRIS® data platform uses the system default value of 32,767. If an output string has an initial value larger than ZFString, that larger value is the reserved space. An application must not return a string longer than this reserved space. The value of ZFString is not relevant for input strings.

ZFSize

ZFSize is the number of bytes InterSystems IRIS allocates for the $ZF heap for all purposes. When set to 0, InterSystems IRIS uses the system default value of 135,168. Each input string is copied into the $ZF heap. Each output string allocates the larger of the current length of the string and ZFString. Note that for a Unicode instance of InterSystems IRIS, each character of a string uses 2 bytes of $ZF heap space. IRIS_EXSTR strings do not use the $ZF heap.

Changing This Parameter

On the Advanced Memory page of the Management Portal (System Administration > Configuration > Additional Settings > Advanced Memory), edit the values for ZFString or ZFSize. InterSystems recommends that this parameter be set to 0,0.

Instead of using the Management Portal, you can change zfheap in the Config.configOpens in a new tab class (as described in the class reference) or by editing the CPF in a text editor (as described in Editing the Active CPF).

If you edit this setting, the updated value is effective for new InterSystems IRIS processes.

FeedbackOpens in a new tab