Table des matières

Introduction

Informations générales

Informations générales

MEMPOOL_HEAPCACHE_X

Présentation des alertes Heapcache Memory

MEMPOOL_GLOBAL_SHARED

Contexte d'alerte

MEMPOOL_DMA et MEMPOOL_DMA_ALT1

Présentation des pools de mémoire DMA

Utilisation de la mémoire DMA

Comportement des pools de mémoire DMA

Quand s'inquiéter ?

Surveillance SNMP

Introduction

Ce document décrit la compréhension de divers composants de mémoire dans l'appliance de sécurité adaptatif (ASA) / Firepower Threat Defense (FTD).

Informations générales

Si vous recevez des notifications relatives à la mémoire, cet article déterminera quand prendre des mesures préventives et quand les ignorer. L'interrogation SNMP (Simple Network Management Protocol) est généralement utilisée pour lancer des alarmes relatives à la mémoire. Ce protocole SNMP utilise le résultat de la commande show memory detail pour collecter des données et déclencher les alertes.

Informations générales

Dans cet article, les éléments de mémoire mentionnés ci-dessous sont abordés

- MEMPOOL_HEAPCACHE_X

- MEMPOOL_GLOBAL_SHARED

- MEMPOOL_DMA et MEMPOOL_DMA_ALT1

MEMPOOL_HEAPCACHE_X

Présentation des alertes Heapcache Memory

1. Comportement d'allocation Heapcache

- Heapcache est le pool préféré pour les allocations de mémoire.

- Une fois le pool Heapcache épuisé, d'autres allocations sont prises à partir du pool partagé global.

- Le pool partagé global extrait lui-même la mémoire de la mémoire système selon les besoins.

2. Alertes de mémoire Heapcache

- La réception d'alertes de mémoire Heapcache est normale et n'indique pas de problème.

- Une utilisation élevée de la mémoire Heapcache est attendue car il s'agit du premier pool alloué pour l'utilisation.

3. Point clé du moniteur

- Concentrez-vous sur l'utilisation de la mémoire système.

- Si la mémoire système est suffisante, vous n'avez pas besoin de vous soucier des alertes pour les pools MEMPOOL_HEAPCACHE_0 ou MEMPOOL_GLOBAL_SHARED.

- Surveillez la mémoire système à l'aide de vos outils SNMP pour détecter les seuils critiques ou la dégradation des performances.

4. Alertes et comportement attendu

- Le comportement de réservation de mémoire est normal.

- Le système réserve et alloue la mémoire dynamiquement selon les besoins.

- Vous pouvez ignorer en toute sécurité les alertes liées à Heapcache ou aux pools partagés globaux, sauf si la mémoire système elle-même devient critique.

MEMPOOL_GLOBAL_SHARED

- Gestion dynamique de la mémoire

MEMPOOL_GLOBAL_SHARED ne préalloue pas toute la mémoire au démarrage. Au lieu de cela, il demande de la mémoire au système d'exploitation à la demande si nécessaire.

- Libération De Mémoire

Lorsqu'une grande quantité de mémoire est libérée, MEMPOOL_GLOBAL_SHARED renvoie la mémoire au système d'exploitation.

- Croissance/retrait élastique

La taille de MEMPOOL_GLOBAL_SHARED se développe et se contracte dynamiquement en fonction de la charge de travail. Ce comportement adaptatif assure une utilisation efficace de la mémoire.

- Mémoire cache minimale pour la vitesse

Une petite quantité de mémoire reste allouée dans MEMPOOL_GLOBAL_SHARED pour accélérer les futures demandes d'allocation de mémoire et éviter la latence.

Contexte d'alerte

Si cette alerte s'affiche, elle décrit le comportement attendu de MEMPOOL_GLOBAL_SHARED. Comme il augmente, réduit et gère la mémoire de manière dynamique, le comportement est normal et n'indique aucun problème. Vous pouvez ignorer cette alerte en toute sécurité, sauf si des problèmes de performances spécifiques liés à la mémoire sont observés.

MEMPOOL_DMA et MEMPOOL_DMA_ALT1

Présentation des pools de mémoire DMA

Le système de mémoire DMA (Direct Memory Access) de Cisco ASA/FTD se compose de deux pools de mémoire clés :

1. MEMPOOL_DMA

2. MEMPOOL_DMA_ALT1

Ces deux pools fonctionnent ensemble afin d'assurer une disponibilité de mémoire fluide :

- MEMPOOL_DMA est le pool principal.

- MEMPOOL_DMA_ALT1 sert de sauvegarde lorsque le pool principal est épuisé.

Utilisation de la mémoire DMA

Le pool de mémoire DMA est principalement utilisé pour les tâches nécessitant un accès aux données à haut débit et des opérations gourmandes en mémoire. Il est couramment utilisé pour les fonctionnalités VPN et d'autres processus, notamment :

1. Services de réseau privé virtuel (VPN) :

- IPSec (IKEv1/IKEv2)

- Proxy TLS (Transport Layer Security)

- WebVPN (AnyConnect/VPN sans client)

2. Services de sécurité et de journalisation :

- Système de prévention des intrusions (IPS)

- Syslogging ("logging host ...")

- Connexions SSH (Secure Shell)

3. Gestion et autres services :

- Adaptive Security Device Manager (ASDM) (serveur HTTPS ASA)

- Serveur DHCP (Dynamic Host Configuration Protocol)

Comportement des pools de mémoire DMA

1. Allocation du temps de démarrage :

Au démarrage, l'ASA alloue la mémoire DMA en fonction des fonctionnalités activées.

2. Utilisation dynamique de la mémoire :

- Traite la requête de mémoire de MEMPOOL_DMA si nécessaire.

- Lorsque les processus sont terminés, la mémoire est renvoyée au pool libre (avec un léger retard).

3. Retour à MEMPOOL_DMA_ALT1 :

- Si MEMPOOL_DMA devient complètement utilisé, le système commence automatiquement à utiliser MEMPOOL_DMA_ALT1.

- Ceci assure un fonctionnement continu sans interruptions liées à la mémoire.

Quand s'inquiéter ?

- Si l'utilisation de MEMPOOL_DMA est élevée (près de 100%), il n'y a aucun problème immédiat tant que MEMPOOL_DMA_ALT1 a suffisamment de mémoire.

- Si MEMPOOL_DMA_ALT1 commence également à se remplir, il signale un problème d'épuisement de la mémoire et nécessite une étude plus approfondie.

- Mesure à prendre:

- Surveillez l'utilisation de MEMPOOL_DMA_ALT1.

- Si les deux pools approchent de l'utilisation complète, examinez l'utilisation des fonctionnalités, l'activité de journalisation et les processus gourmands en mémoire.

si vous observez des problèmes liés à la mémoire DMA élevée, vérifiez les points suivants :

Serveur HTTP : si le protocole HTTP est configuré, il allouera 4, 80, 1550, 2048 et 2560 blocs d'octets, ce qui entraînera l'utilisation d'environ 7 Mo de DMA. Essayez de désactiver l'accès ASDM pour le moment.

Serveur URL : S'il est configuré, cela ajoutera 81 Ko de mémoire DMA.

Internet Key Exchange (IKE) et WebVPN : Si une forme quelconque de VPN est activée, la mémoire sera retirée du pool de mémoire DMA.

Si vous utilisez un VPN, cela pourrait également utiliser cette mémoire. Vérifiez l'utilisation du VPN afin de vous assurer qu'elle ne dépasse pas la capacité du module.

Journalisation: Le DMA utilisé pour la journalisation est régi par la taille de la file d'attente et le nombre d'hôtes de journalisation.

#sh run log

n'utilisez pas logging queue 0

n'utilisez pas logging queue 8192

ne configurez pas plus d'un serveur de journalisation

ne configurez pas les trames jumbo

Surveillance SNMP

Les bases MIB (Management Information Bases) indiquées sont utilisées pour la surveillance de la mémoire SNMP.

Comprendre les valeurs Counter64 dans ces MIB et comment on peut les utiliser :

Valeurs Counter64 dans les MIB

1. MIB .1.3.6.1.4.1.9.9.221.1.1.1.18 : - Cette MIB représente l'objet cempMemPoolHCUsed, qui est un compteur à haute capacité pour le pool de mémoire utilisé. Elle indique la quantité de mémoire utilisée dans le pool, exprimée en octets.

2. MIB .1.3.6.1.4.1.9.9.221.1.1.1.20 : - Cette MIB représente l'objet cempMemPoolHCFree, qui est un compteur de haute capacité pour le pool de mémoire libre. Il fournit la quantité de mémoire libre dans le pool, mesurée en octets.

Objectif des MIB spécifiques :

1. MEMPOOL_MSGLYR_HB : - Représente le pool de mémoire pour la pulsation de la couche de messages. Elle permet de surveiller la mémoire allouée aux messages de pulsation dans le système.

2. MEMPOOL_MSGLYR : - Représente le pool de mémoire pour la couche messages. Elle permet de surveiller la mémoire allouée aux opérations générales de la couche de messages dans le système.

3. MEMPOOL_HEAPCACHE_1 : - Représente le pool de mémoire pour le cache de segment de mémoire 1. Il est utilisé pour surveiller la mémoire allouée au premier cache de segment de mémoire du système.

4. MEMPOOL_HEAPCACHE_0 : - Représente le pool de mémoire pour le cache de segment de mémoire 0. Il est utilisé pour surveiller la mémoire allouée au cache de segment de mémoire principal dans le système.

5. MEMPOOL_DMA_ALT1 : - Représente le pool de mémoire de l'autre DMA 1. Il est utilisé pour surveiller la mémoire allouée aux premières opérations DMA alternatives dans le système.

6. MEMPOOL_DMA : - Représente le pool de mémoire pour DMA. Elle permet de surveiller la mémoire allouée aux opérations DMA dans le système.

7. MEMPOOL_GLOBAL_SHARED : - Représente le pool de mémoire pour la mémoire partagée globale. Elle permet de surveiller la mémoire allouée aux opérations partagées globalement dans le système.