A configuração do monitoramento da utilização da memória do sistema (também conhecida como Memory Load Guard) é especificada por determinados valores-chave no arquivo de configuração Analyseserver_settings.properties. Se uma dessas chaves não for inserida ou se contém valores inválidos, é emitido um aviso nos logs do servidor de análise e o valor padrão é definido para esta chave.
A chave MemoryLoadGuard.Enabled especifica se o monitoramento da carga de memória está habilitado ou não. Os valores válidos são true e false. O valor padrão é TRUE.
Você pode alterar a configuração durante o tempo de execução do servidor de análise. Os valores alterados serão considerados na próxima vez que a carga de memória do sistema for verificada.
Limiares
Os dois limiares que identificam os limites da área de carga de memória crítica são especificados como uma porcentagem da memória máxima disponível do servidor de análise. Decisiva é a carga de memória da Geração Antiga (área da memória onde os objetos Java são salvos de modo permanente. A documentação Java chama a esta "tamanho comprometido", ou seja, a razão do tamanho máximo e do tamanho atualmente utilizado.)
Os valore abaixo de 50% são ignorados porque não são viáveis.
A chave MemoryLoadGuard.Warn.PercentageOfMemoryUsed indica o limite no qual a carga de memória desfavorável começa. O valor padrão é 90%. Este valor coopera eficientemente com o componente Coleta de lixo interno do Java Runtime Environment. Desse modo, as insuficiências de memória iminentes podem ser resolvidas a tempo.
A chave MemoryLoadGuard.PreventImport.PercentageOfMemoryUsed indica o limite no qual a carga de memória crítica começa. O valor padrão de 95% permite ao sistema identificar insuficiências de memória críticas antecipadamente e, desse modo, ainda permite importar grandes volumes de dados em segurança.
Horas do dia
Você pode restringir verificações cíclicas de carga de memória a horas específicas do dia para salvar o desempenho do servidor de análise para uma sessão atual. A hora de início e a hora de término de uma verificação cíclica de carga de memória são especificadas nas chaves MemoryLoadGuard.BackgroundCheck.TimeWindow.Start e MemoryLoadGuard.BackgroundCheck.TimeWindow.End. As horas são especificadas em uma notação de 24 horas hh:mm (ISO 8601). Ela é baseada na hora do sistema do servidor de análise. Você pode alterar os valores durante a operação do servidor de análise.
Exemplo
O seguinte extrato de arquivo exibe a configuração padrão do sistema de alerta antecipado em caso de insuficiência de memória. O sistema está ativo, o limite para carga de memória desfavorável é 90%, o limite para carga de memória crítica é 95%. A verificação de carga de memória cíclica está ativa entre as 20:00 e as 6:00 do dia seguinte.
#### Memory Load Guard ####
MemoryLoadGuard.Enabled=true
MemoryLoadGuard.Warn.PercentageOfMemoryUsed=90
MemoryLoadGuard.PreventImport.PercentageOfMemoryUsed=95
# Período no qual podem ocorrer verificações de segundo plano.
MemoryLoadGuard.BackgroundCheck.TimeWindow.Start=20:00
# Minuto de término não está incluído. Contudo, se Início e Fim forem definidos com o mesmo valor, as verificações podem ocorrer durante todo o dia.
MemoryLoadGuard.BackgroundCheck.TimeWindow.End=06:00