Uma ocorrência do tipo Memory Allocation Failure (ou memory full) é reproduzida no TOTVS | Application Server quando a aplicação solicitou ao Sistema Operacional uma determinada quantidade de memória e o mesmo não conseguiu devolver o endereço correspondente à alocação solicitada.
/*------------------------------------------------------- THREAD ERROR ([18528], JOB_WS_0100_, THIS) 06/02/2023 17:18:52 Memory Allocation Failure ( 204867 bytes ) in file C:\bamboo\xml-data\build-dir\TP11-OF20310-TECXWIN64\lib_base\stringz.hpp at line 569
Possíveis causas
O limite de alocação de memória por aplicação (**) foi atingido. |
---|
Neste caso, a soma da memoria alocada por todos os processos em execução no TOTVS | Application Server atingiu o limite de alocação de memoria por aplicação do Sistema Operacional.
|
Esgotamento da memória do equipamento (física e/ou virtual) |
---|
Caso ocorra de um ou mais programas consumirem toda a memória paginável da máquina, colocando-a em um estado onde o Sistema Operacional não têm mais memoria disponível para alocação. Este cenário é mais difícil de ser reproduzido e pode ser precedido de perdas significativas de performance em todas as aplicações em execução no equipamento (devido ao uso de memoria virtual), antes de efetivamente a aplicação apresentar a falha de alocação de memória. |
Falha de alocação de memória por conta de configuração específica do Sistema Operacional Linux (ulimit -v) |
---|
Em ambiente que utilizem o Sistema Operacional Linux, pode haver falha de alocação de memória caso o limite de alocação de memoria por processo - ulimit -v - esteja configurado inadequadamente antes da inicialização do TOTVS | Application Server. Pode haver esgotamento de memória caso a alocação de memória de stack (ulimit -s) esteja acima de 1024 K (1 MB) e a quantidade de processos em execução seja muito grande. |
- A partir da versão 7.00.090818P a mensagem "Memory full" foi alterada para "Memory Allocation Failure".
- Os limites de gerenciamento de memória para aplicações podem variar entre os Sistemas Operacionais (Windows/Linux) e plataformas (32 bits e 64 bits ).
Para mais informações sobre os limites de alocação de memória de aplicações 32 bits, consulte o documento Consumo de memória de aplicação de 32 bits.