Altere o tamanho da pilha no z/OS alterando ou incluindo a variável de ambiente Language Environment (LE) _CEE_RUNOPTS. Isso pode ser feito para todos os grupos de execução definidos para um broker, ou um grupo de execução específico.
Componentes do broker em z/OS são compilados utilizando o XPLINKage (ligação de desempenho extra), que inclui a otimização para o código de tempo de execução. No entanto, se o tamanho de pilha inicial não for grande o suficiente, serão utilizadas extensões de pilha. O tamanho de pilha inicial é 1 MB e 1 MB é utilizado em cada extensão. Certifique-se de escolher um tamanho de pilha descendente grande o suficiente, porque o desempenho de XPLINK pode ser afetado quando as extensões de pilha forem utilizadas.
Para determinar tamanhos de pilha adequados, utilize o Language Environment Report Storage tool.
export _CEE_RUNOPTS=RPTSTG\(ON\)
É
possível então substituir os valores padrão para os tamanhos de pilhas no
z/OS alterando ou incluindo a variável de ambiente
_CEE_RUNOPTS.Você pode fazer isso para todos os grupos de execução definidos para um broker, ou um grupo de execução específico.
export _CEE_RUNOPTS=THREADSTACK64\(ON,2M,1M,128M\)
Quando utilizar a opção RPTSTG, o tempo gasto na execução de um aplicativo será aumentado, portanto, utilize-o como um auxílio para o desenvolvimento apenas de fluxos de mensagens e não em seu ambiente de produção final. Quando tiver determinado os tamanhos de pilha corretos necessários, remova esta opção da variável de ambiente _CEE_RUNOPTS.
As pilhas XPLINK crescem de forma decrescente no armazenamento virtual, enquanto o vínculo padrão cresce de forma crescente. Para evitar afetar o desempenho alternando entre o espaço de pilha descendente e o espaço de pilha ascendente durante o tempo de execução, compile as extensões definidas pelo usuário usando a opção XPLINK onde possível. Se o fluxo de mensagens utilizar extensões definidas pelo usuário compiladas com a convenção de vínculo padrão, defina um valor adequado para o tamanho de pilha crescente.