Introduction
Ce document vous aide à comprendre l'utilisation moyenne de la mémoire sur le périphérique Nexus 3000.
Contribution de Narottama Sahoo, Santhosh Shankar, Ingénieurs du TAC Cisco
Fond
L'utilisation de la mémoire dans nexus 3000 varie probablement en fonction de la version exécutée sur le périphérique.
Dans les versions plus récentes en raison de l'ajout de nouvelles fonctionnalités, l'utilisation de la mémoire sera probablement élevée par rapport aux versions plus anciennes.
Conditions préalables
Conditions requises
Cisco vous recommande de prendre connaissance des rubriques suivantes :
Components Used
Les informations contenues dans ce document sont basées sur les versions de matériel et de logiciel suivantes :
- Plate-forme Nexus 3000
- Version de code 6.x et 7.x
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. Si votre réseau est en ligne, assurez-vous de bien comprendre l’incidence possible des commandes.
Conseils de dépannage
Vous trouverez ci-dessous quelques exemples de résultats de mes travaux pratiques (N3548 configuré au minimum) qui illustrent l'utilisation de la mémoire de base sur la plate-forme.
N3K-3548.42# sh system resources | egrep "used"
Memory usage: 4117860K total, 2250220K used, 1867640K free
N3K-3548.42# sh system internal kernel memory global | be NAME | cut -c 1-42
NAME |TOTAL |
mtc_usd | 462744 231212 223972 |
fwm | 277132 97788 84907 |
afm | 218180 53060 40829 |
netstack | 380252 45592 38952 |
clis | 219208 41924 32060 |
m2rib | 182944 35812 31502 |
--More--
Tous les processus en cours d'exécution consommeront une certaine quantité de mémoire pour le texte/le tas/la pile/les données/le partage-lib. L'interface de ligne de commande ci-dessus indique une utilisation proportionnelle de la mémoire par processus (prend en compte les pages de mémoire partagées entre les processus). En ajoutant l'utilisation proportionnelle de la mémoire de tous les processus, nous pouvons obtenir une représentation de l'utilisation de la mémoire des processus d'espace utilisateur. Sur le commutateur de laboratoire, la somme d'utilisation de base pour tous les processus en cours d'exécution représentait environ 42 % de l'utilisation globale (943276 kB).
N3K-3548.42# sh system internal kernel meminfo | egrep « ShmFS|^Cached »
Cache : 174236 kB
ShmFS : 169840 kB
Les binaires / configurations / etc de NX-OS sont extraits des images kickstart/system pendant le démarrage. Ceux-ci résident dans des systèmes de fichiers temporaires non sauvegardés par un stockage persistant et sont comptabilisés par linux comme ShmFS.
En plus de l'utilisation de ShmFS, linux mettra temporairement en cache le contenu des fichiers en cours de lecture/référencement par les processus. Le compteur mis en cache est une somme de fichiers ShmFS et mis en cache. D'après le résultat ci-dessus, vous pouvez voir que l'utilisation en cache représente environ 52 % de l'utilisation globale (117 4236 kB).
N3K-3548.42# sh system internal kernel meminfo | egrep « Slab »
Plaque : 85376 kB
Enfin, le noyau utilise également de la mémoire pour les structures de données internes. Comptes de dalles pour les structures de données du noyau et du module kernel. D'après le résultat ci-dessus, l'utilisation des dalles représente environ 4 % de l'utilisation globale (8 5376 kB).
Il y a une utilisation supplémentaire de la mémoire qui n'est pas interrompue par le noyau Linux, mais qui ne compte que pour ~50mb. Pour plus d'informations, référez-vous à la documentation d'architecture Linux.
En proportion de l'utilisation de base, les systèmes de fichiers temporaires sont le consommateur de mémoire le plus important. C'est un comportement normal et commun à toutes les plates-formes basées sur NX-OS.
Pour NX-OS exécutant 5.X, l'utilisation moyenne sera d'environ 40 %
Pour NX-OS exécutant une utilisation moyenne de 6.X entre 60 et 70 %
Pour NX-OS exécutant une utilisation moyenne de 7.X, elle avoisinera 80 %
Par conséquent, l'augmentation de l'utilisation de la mémoire est probablement un facteur de nouvelles fonctionnalités dans chaque version et un encombrement de base plus important pour le système d'exploitation.
Exemple de sortie collecté sans configuration par défaut sur le périphérique
Version : 6.0(2)U3(7)
switch# show system resources module all
CPU Resources:
-----------------------------------------------------------
CPU utilization: Module 5 seconds 1 minute 5 minutes
-----------------------------------------------------------
1 7 6 9
-----------------------------------------------------------
Processor memory: Module Total(KB) Free(KB) % Used
-----------------------------------------------------------
1 3785276 1450540 61 (Usage when running 6.x version)
Version : 7.0.3.I2.2a
switch# show system resources module all
CPU Resources:
----------------------------------------------------------
CPU utilization: Module 5 seconds 1 minute 5 minutes
-----------------------------------------------------------
1 6 8 8
-----------------------------------------------------------
Processor memory: Module Total(KB) Free(KB) % Used
-----------------------------------------------------------
1 3903900 795600 79 (Usage when running 7.x version)
Recommandations :
Reportez-vous toujours aux notes de version pour comprendre la configuration système requise pour chaque logiciel. La configuration matérielle et logicielle requise, en particulier la mémoire, varie lors de la mise à niveau vers une version plus récente du code.
Liens utiles:
Notes de version