Introducción
Este documento describe la solución para el uso de memoria altamente recuperable en la tarjeta MIO en ASR5500 después de la habilitación del registro de datos de eventos (EDR).
Problema
El chasis ASR 5500 mostró un uso de memoria altamente recuperable en la tarjeta de entrada/salida de gestión (MIO) activa después de agregar la configuración EDR.
Antecedentes
ASR 5500 utiliza una matriz de unidades de estado sólido (SSD) para el almacenamiento persistente a corto plazo. El RAID 5 es utilizado por el ASR 5500 y se denomina hd-raid. Varios registros de datos se almacenan en el hd-raid como archivos. Estos archivos se transfieren desde ASR 5500. El número de registros y archivos puede ser grande y eso crea un gran número de páginas de memoria reclamable para almacenar los archivos. Las páginas recuperables son páginas con copia de seguridad de archivos (es decir, páginas que se asignan a través de archivos asignados) que no están asignadas actualmente a ningún proceso. A partir del proceso y la memoria, las páginas reclamables se calculan como Activo(archivo) + Inactivo(archivo) - Asignado.
Hay un umbral que se puede alcanzar basado en reclamos de memoria que pueden bloquear el proceso. Si esto ocurre durante una tarea crítica, el sistema puede cambiar las tarjetas cuando no responde a tiempo. Los valores mínimo, bajo y alto determinan cuándo se inicia y se detiene Kernel Swap Daemon (kswapd). El kswapd es un proceso asíncrono para hacer estas recuperaciones hasta que la memoria libre pase por encima de la marca alta.
Se muestran ejemplos de los detalles de memoria de las tarjetas MIO antes y después de la configuración EDR.
Antes, la memoria caché era de aproximadamente 0,8 Gb
******* card5-cpu0 /proc/meminfo *******
MemTotal: 98941752 kB
MemFree: 93932096 kB
Buffers: 4324 kB
Cached: 838580 kB
Tras la habilitación de EDR pasó a ser 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)
Solución
La gran cantidad de EDR generados y el largo tiempo necesario para purgar los registros antiguos pueden provocar un uso elevado de la memoria recuperable. Se recomienda verificar el tiempo que transcurre entre que los archivos se introducen fuera de ASR 5500 y el tiempo de purga de los archivos antiguos. El temporizador de purga de archivos debe ajustarse en función de las operaciones del nodo. En la imagen se muestra el flujo general del ciclo de vida de la memoria.
Nota: los archivos deben borrarse después de transferirse fuera de ASR 5500. El método preferido es utilizar cdr remove-file-after-transfer
configuración. La configuración es aplicable a CDR y EDR.
Los comandos para habilitar la eliminación se muestran en el fragmento de código.
[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 útiles
- Cuando CDMOD está activado.
show cdr statistics
- Para supervisar la memoria recuperable. Muestra los resultados de la última lectura de 5 minutos, 15 minutos, valores mínimos y máximos respectivamente.
show cpu info card [5|6] verbose | grep reclaimable
show cdr file-space-usage
show gtpp storage-server local file statistics
En el ejemplo de la salida, 89Gb se pueden purgar.
[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