Table des matières

Introduction

Problème

Informations générales

Solution

Commandes utiles

Introduction

Ce document décrit la solution pour une utilisation de mémoire récupérable élevée sur la carte MIO sur ASR5500 après activation de l'enregistrement de données d'événement (EDR).

Problème

Le châssis ASR 5500 présentait une utilisation de mémoire récupérable élevée sur la carte MIO (Management Input/Output) active après l'ajout de la configuration EDR.

Informations générales

L'ASR 5500 utilise une baie de disques SSD (Solid State Drive) pour le stockage persistant à court terme. Le RAID 5 est utilisé par l'ASR 5500 et s'appelle le hd-raid. Différents enregistrements de données sont stockés sur le hd-raid sous forme de fichiers. Ces fichiers sont transférés depuis l'ASR 5500. Le nombre d'enregistrements et de fichiers peut être important, ce qui crée un grand nombre de pages de mémoire récupérables pour stocker les fichiers. Les pages récupérables sont des pages sauvegardées dans un fichier (c'est-à-dire des pages qui sont allouées par le biais de fichiers mappés) qui ne sont actuellement mappées à aucun processus. À partir du processus et de la mémoire, les pages récupérables sont calculées comme Active(file) + Inactive(file) - Mappé.

Un seuil peut être atteint en fonction des récupérations de mémoire qui peuvent bloquer le processus. Si cela se produit au cours d'une tâche critique, le système peut basculer sur les cartes lorsqu'il ne répond pas à temps. Les valeurs minimum, minimum et maximum déterminent le moment où le démon de permutation de noyau (kswapd) démarre et s'arrête. Le processus kswapd est un processus asynchrone pour effectuer ces récupérations jusqu'à ce que la mémoire libre passe au-dessus de la marque haute.

Des exemples de détails de mémoire pour les cartes MIO avant et après la configuration EDR sont affichés.

Avant, la mémoire cache était d'environ 0,8 Go

******* card5-cpu0 /proc/meminfo *******

MemTotal:       98941752 kB

MemFree:        93932096 kB

Buffers:            4324 kB

Cached:           838580 kB

Après l'activation des EDR, il est devenu 70 Go

******** 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)

Solution

La quantité élevée d'EDR générées et le temps long nécessaire pour purger les anciens enregistrements peuvent entraîner une utilisation élevée de la mémoire récupérable. Il est conseillé de vérifier le temps écoulé entre le moment où les fichiers sont envoyés en dehors de l'ASR 5500 et le moment où les anciens fichiers sont purgés. Le minuteur de purge des fichiers doit être ajusté en fonction des opérations du noeud. Le déroulement général du cycle de vie de la mémoire est illustré dans l'image.

Remarque : les fichiers doivent être effacés après leur transfert en dehors de l'ASR 5500. La méthode préférée est d'utiliser cdr remove-file-after-transfer configuration. La configuration s’applique à CDR et EDR.

Les commandes permettant d'activer la suppression sont indiquées dans l'extrait de code.

[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

Commandes utiles

- Lorsque CDMOD est activé.

show cdr statistics

- Pour surveiller la mémoire récupérable. Il montre les résultats pour la dernière lecture de 5 minutes, 15 minutes, les valeurs minimale et maximale respectivement.

show cpu info card [5|6] verbose | grep reclaimable

show cdr file-space-usage

show gtpp storage-server local file statistics

Dans l'exemple de la sortie, 89Gb peut être purgé.

[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)

- Vérifiez la configuration GTP pour l'intervalle de purge CDR/EDR et confirmez qu'il est défini sur un intervalle inférieur, par exemple, 720 secondes.
Attention : cette valeur doit être définie en fonction du flux du modèle d'appel spécifique.

gtpp group <>

gtpp storage-server local file purge-processed-files purge-interval 720