Introduction
Este documento descreve a solução para utilização de memória de alta capacidade de recuperação na placa MIO no ASR5500 após a habilitação do Registro de Dados de Evento (EDR).
Problema
O chassi do ASR 5500 mostrou alto uso de memória recuperável na placa MIO (Management Input/Output) ativa após a configuração do EDR ter sido adicionada.
Informações de Apoio
O ASR 5500 usa uma matriz de unidades de estado sólido (SSDs) para armazenamento persistente de curto prazo. O RAID 5 é usado pelo ASR 5500 e é chamado de hd-raid. Vários registros de dados são armazenados no hd-raid como arquivos. Esses arquivos são transferidos do ASR 5500. O número de registros e arquivos pode ser grande e isso cria um grande número de páginas de memória recuperáveis para armazenar os arquivos. Páginas recuperáveis são páginas com backup em arquivos (ou seja, páginas alocadas por meio de arquivos mapeados) que não estão mapeadas atualmente para nenhum processo. Do processo e da memória, as páginas recuperáveis são calculadas como Ativo (arquivo) + Inativo (arquivo) - Mapeado.
Há um limite que pode ser alcançado com base nas recuperações de memória que podem bloquear o processo. Se isso ocorrer durante uma tarefa crítica, o sistema poderá trocar as placas quando não responder a tempo. Os valores mínimo, baixo e alto determinam quando o daemon de troca de kernel (kswapd) é iniciado e interrompido. O kswapd é um processo assíncrono para fazer essas recuperações até que a memória livre ultrapasse a marca alta.
São mostrados exemplos dos detalhes de memória para placas MIO antes e depois da configuração do EDR.
Antes, a memória em cache era de aproximadamente 0,8 Gb
******* card5-cpu0 /proc/meminfo *******
MemTotal: 98941752 kB
MemFree: 93932096 kB
Buffers: 4324 kB
Cached: 838580 kB
Após a habilitação de EDRs, ela se tornou de 70 Gb
******** card5-cpu0 /proc/meminfo *******
MemTotal: 98941752 kB
MemFree: 21543700 kB
Buffers: 4004 kB
Cached: 70505556 kB
Card 5, CPU 0:
Status : Active, Kernel Running, Tasks Running
File Usage : 12320 open files, 9881352 available
Memory Usage : 8875M 9.0% used, 67804M 69.0% reclaimable
Memory Details:
Static : 1437M kernel, 243M image
System : 63M tmp, 3M buffers, 3077M kcache, 68004M cache
Process/Task : 3707M (1276M small, 2082M huge, 349M other)
Other : 141M shared data
Free : 21624M free
Usable : 94940M usable (21624M free, 141M shared data, 67804M reclaimable, 4728M reserved by tasks)
Solução
A grande quantidade de EDRs gerados e o longo tempo para eliminar registros antigos podem causar um alto uso de memória recuperável. Sugere-se verificar o tempo entre os arquivos que são enviados para fora do ASR 5500 e o tempo de eliminação de arquivos antigos. O temporizador de limpeza de arquivos precisa ser ajustado com base nas operações do nó. O fluxo geral do ciclo de vida da memória é mostrado na figura.
Observação: os arquivos precisam ser apagados após serem transferidos para fora do ASR 5500. O método preferencial é usar cdr remove-file-after-transfer
configuração. A configuração é aplicável ao CDR e ao EDR.
Os comandos para ativar a exclusão são mostrados no snippet.
[local]ASR5500# config
[local]ASR5500(config)# context (name)
ASR5500(config-ctx)# edr-module active-charging-service
ASR5500(config-ctx)# cdr use-harddisk
ASR5500(config-ctx)# cdr-remove-file-after-transfer
Comandos úteis
- Quando o CDMOD está habilitado.
show cdr statistics
- Para monitorar a memória recuperável. Apresenta resultados para a última leitura de 5 minutos, 15 minutos, valores mínimo e máximo, respectivamente.
show cpu info card [5|6] verbose | grep reclaimable
show cdr file-space-usage
show gtpp storage-server local file statistics
No exemplo da saída, 89 Gb podem ser removidos.
[local]ASR5500# show cpu info card 5 verbose | grep reclaim
Memory Usage : 10984M 11.2% used, 86380M 87.9% reclaimable
Usable : 74076M usable (939M free, 86380M reclaimable, 13242M reserved by tasks)
Memory Usage : 10985M 11.2% used, 86445M 87.9% reclaimable
Usable : 74065M usable (872M free, 86445M reclaimable, 13253M reserved by tasks)
Memory Usage : 11064M 11.3% used, 86387M 87.9% reclaimable
Usable : 73904M usable (851M free, 86387M reclaimable, 13334M reserved by tasks)
Memory Usage : 9803M 10.0% used, 87803M 89.3% reclaimable
Usable : -NA- (697M free, 87803M reclaimable, 13511M reserved by tasks)
gtpp group <>
gtpp storage-server local file purge-processed-files purge-interval 720