HEAP controla a alocação do heap inicial, controla alocações de incrementos de heap adicionais e especifica como esse armazenamento é gerenciado.
O WebSphere Message Broker solicita uma alocação de armazenamento de heap inicial e incrementos de heap subsequentes, cujos tamanhos dependem do tipo de processo. Por exemplo, o processo DFE solicita uma alocação de armazenamento de heap inicial de 40 Mb, com incrementos de heap subsequentes de 5 Mb. RPTOPTS pode ser usado para gerar um relatório das opções de tempo de execução em efeito para cada processo.
Por motivos de desempenho, o WebSphere Message Broker assume por padrão KEEP. Para a maioria dos cenários de processamento de mensagens, quando as alocações de armazenamento são menores que 5 Mb, é mais eficiente reutilizar o armazenamento que foi liberado no incremento de heap. Com o KEEP, o incremento de heap de 5 Mb permanece alocado, mesmo se todos os segmentos de armazenamento tiverem sido liberados.
Se os pedidos de armazenamento excederem frequentemente 5 Mb, esses pedidos são alocados diretamente no heap. Quando o objeto é liberado, a alocação permanece no heap e é reutilizada para pedidos de armazenamento subsequentes cujo tamanho é menor ou igual ao tamanho da alocação de heap. Após algum tempo, a alocação de heap é usada para objetos de tamanhos diferentes, e isso pode levar à fragmentação que, por sua vez, pode resultar em alto uso de armazenamento. Nessas circunstâncias, considere a configuração da variável de ambiente de tempo de execução HEAP para que o Ambiente de Linguagem use o parâmetro FREE.
Por exemplo, você pode alterar os valores padrão de KEEP para FREE na seguinte linha:
_CEE_RUNOPTS=HEAP64(40M,5M,FREE,9M,32K,KEEP,4096,4096,FREE)