HEAP steuert die Zuordnung des anfänglichen Heapspeichers, die Zuordnung der zusätzlichen Heaperhöhungen sowie die Verwaltung dieses Speichers.
WebSphere Message Broker erfordert eine anfängliche Heapspeicherzuordnung sowie nachfolgende Heaperhöhungen, deren Größe vom Typ des Prozesses abhängt. Der DFE-Prozess erfordert zum Beispiel eine anfängliche Heapspeicherzuordnung von 40 MB und nachfolgende Heaperhöhungen in Schritten von jeweils 5 MB. Zur Generierung eines Berichts über die für die einzelnen Prozesse geltenden Laufzeitoptionen kann RPTOPTS verwendet werden.
Aus Leistungsgründen übernimmt WebSphere Message Broker die Standardeinstellung KEEP. In den meisten Nachrichtenverarbeitungsszenarios ist es bei Speicherzuordnungen unter 5 MB effizienter, Speicher, der innerhalb einer Heaperhöhung frei geworden ist, wiederzuverwenden. Bei KEEP bleibt die 5-MB-Heaperhöhung zugeordnet, selbst wenn alle Speichersegmente freigegeben wurden.
Wenn Speicheranforderungen häufig die 5 MB überschreiten, werden diese Anforderungen direkt dem Heapspeicher zugeordnet. Wenn das Objekt freigegeben wird, verbleibt die Zuordnung im Heap und wird für spätere Speicheranforderungen wiederverwendet, deren Größe kleiner oder gleich der Größe der Heapzuordnung ist. Mit der Zeit wird die Heapzuordnung für Objekte verschiedener Größen verwendet. Dies kann zu Speicherfragmentierung und dies wiederum zu einer hohen Speicherauslastung führen. In einem solchen Fall empfiehlt es sich, die HEAP-Laufzeitumgebungsvariable für Language Environment so zu definieren, dass der Parameter FREE verwendet wird.
Die Standardeinstellung KEEP können Sie beispielsweise in der folgenden Zeile auf FREE setzen:
_CEE_RUNOPTS=HEAP64(40M,5M,FREE,9M,32K,KEEP,4096,4096,FREE)