Alguém pode dizer pelas imagens abaixo se esta máquina está limitando o uso de memória de forma não natural. A memória foi atualizada de 32 GB para 64 GB para renderização de relatórios do SSRS, que é o único processo considerável a ser executado.
O SSRS entrou em modo de pânico.
- Houve uma entrada de log aqui
processamento!ReportServer_0-1!a5c!09/19/2019-18:54:28:: w AVISO: Escalabilidade de processamento -- Solicitação de redução de memória recebida
- Após a entrada de log acima, o SSRS começou a paginar os arquivos RSTempFile como se fossem memória virtual. Não há documentos sobre isso e, até onde posso dizer, é tudo interno e deve ser limpo, no entanto, os arquivos estão crescendo para 40 + GB.
De acordo com os documentos aqui, SSRS Memory Configuration , a ausência de a WorkingSetMaximum
no arquivo de configuração significa que o SSRS reivindicará tanta memória quanto necessário, no entanto, não parece reivindicar tudo antecipadamente como o sql server.
Por padrão, o servidor de relatório define WorkingSetMaximum para a quantidade de memória disponível no computador. Esse valor é detectado quando o serviço é iniciado.
Essa configuração não aparece no arquivo RSReportServer.config, a menos que você a adicione manualmente. Se desejar que o servidor de relatório use menos memória, você poderá modificar o arquivo RSReportServer.config e adicionar o elemento e o valor. Os valores válidos variam de 0 ao número inteiro máximo. Este valor é expresso em kilobytes.
Eu capturei a caixa neste estado de pânico e não consigo entender. O SSRS está configurado para usar toda a memória disponível e começou a receber solicitações de redução de memória de alta pressão e começou a paginar os arquivos de cache de disco, no entanto, a memória usada nessa caixa nunca ultrapassou 32% desde que foi atualizada (veja as imagens abaixo). Poderia haver algo mais que está estrangulando artificialmente a memória? É uma caixa virtualizada, no entanto, só posso vê-la de uma visão do sistema operacional, pois estou solucionando o problema de acúmulo de espaço em disco.
As imagens abaixo foram tiradas quando um renderizador ssrs excel estava indo com tudo. A memória em uso não deveria ser muito maior?
(quando o ssrs entra neste estágio, uma renderização de duas horas é estendida para 20 horas, a diferença é usar o disco para VM, eu acho. estratégia, a sessão nunca faz a transição de volta, mesmo quando a memória se estabiliza. * Outras solicitações "menores" são processadas com bastante rapidez e não contribuem para a paginação. )
Imagem 1:
Imagem 2:
Imagem 3:
Imagem 4:
Após a reinicialização da máquina, adicionamos 128 GB de RAM e definimos um valor para
WorkingSetMaximum
. O SSRS recebeu 100 GB de memória para consumir e nunca ultrapassou 84 GB. Eu realmente não posso dizer se os documentos do MS estão errados e a configuraçãoWorkingSetMaximum
permitirá que mais memória seja consumida antes que um thread de renderização comece a mapear para arquivos. Também poderia ter sido a reinicialização. Eu realmente não tenho tempo para confirmar, mas está renderizando grandes relatórios agora sem criar arquivos de "página" muito grandes.