Tempo aproximado para leitura: 00:04:00 min
Ocorrência
Na geração de um Cubo .Net ou na exportação de um Cubo para arquivo .XLS, XLSX, CSV, TXT, [...] uma exceção de Estouro de Memória da Aplicação SystemOuOfMemoryException é apresentado.
Ambiente
Cross Segmentos - TOTVS Backoffice (Linha RM) - Todas as versões
Solução
Possíveis causas:
1 - O RM.exe e/ou o RM.Host.exe (vide observação abaixo) podem estar sendo executados em 32 bits.
Ao se executar o RM.exe e/ou o RM.Host.exe (vide observação abaixo) em 32 bits, reduz-se o limite de consumo de memória da aplicação, fazendo com que não haja espaço sequencial de memória suficiente para gerar um Cubo com muitos registros.
Obs.: RM.Host.exe (executável) ou RM.Host.Service.exe (serviço).
Para que o RM.exe e/ou RM.Host.exe sejam executados em 64 bits, abra o Prompt de Comando, apertando Windows+R e digitando cmd. Execute os comandos abaixo:
cd\
cd C:\totvs\CorporeRM\RM.Net
CorFlags.exe RM.exe /32bit-
CorFlags.exe RM.Host.exe /32bit-
CorFlags.exe RM.Host.Service.exe /32bit-
2 - A Memória Física é insuficiente para a geração correta do Cubo.
Foi evidenciado que uma máquina com memória menor ou igual a 4 Gb é incapaz de gerar um Cubo .Net com muitos registros, é capaz de gerar apenas Cubos com um número restrito de registros.
Uma máquina com 8Gb de memória é suficientemente capaz de gerar Cubos com diversos registros, agrupamentos, filtros e outros componentes de tela.
Dicas para a geração correta de um cubo .Net:
Caso a consulta SQL demore mais que 1m e 40s (DBSCommandTimeout = 60000), deve-se aumentar esse número (sugerido 1000000), para que o tempo de resposta do banco de dados seja suficiente para que o mesmo possa processar a requisição e traga os devidos dados.
Importante
Dicas para uma melhor performance de um Cubo .Net.
Sufixos _N, _S, _D [...], em parâmetros da consulta SQL vinculada ao Cubo .Net
Ao adicionar sufixos aos parâmetros de uma consulta SQL, o mecanismo de execução da consulta SQL, utiliza o tipo passado através do sufixo (_N: numérico, _S:string, D: data, [...]), fazendo com que a verificação interna de tipos, não seja executada, fazendo com que a consulta seja retornada mais rapidamente.
Saiba mais
Para mais detalhe sobre as configurações apresentadas neste artigo acesse Estou de memória Cubo e Performance de Cubo
0 Comentários