Cet article présente la liste des résultats à collecter dans les cas où des fuites de mémoire sont suspectées.
Dans la plupart des cas, la fuite de mémoire est un processus très lent et une analyse approfondie des journaux est requise.
Nous aurons peut-être besoin de plusieurs échantillons de résultats pour réaliser notre analyse et comprendre quelle partie de la mémoire est affectée.
Outil de surveillance de la mémoire
Un outil de surveillance de la mémoire a été intégré aux versions S4810, MXL et Z9000 9.1(0.0P6+). Cet outil permet de capturer des informations détaillées sur l’utilisation de l’allocation des données pour résoudre d’éventuels problèmes de fuite de mémoire. Vous pouvez accéder à l’outil de surveillance de la mémoire via une console ou une session Telnet.
1 : Activez l’outil de surveillance de la mémoire
Pour activer l’outil de surveillance de la mémoire.
Exemple d’utilisation :
remote-exec cp f10mc -i 0x87
Exemple :
Commande :
Z9000#remote-exec cp f10mc -i 0x87
Réponse du système :
f10mc -i 0x87
f10mc: Initialized for malloc, pool, pool_cache, with filter for F10 allocations
SStk-0 #
2 : Collecte des données
2a : Collecte de données périodiques générales sur la mémoire
Collectez les données périodiquement (par intervalles de 4 à 6 heures) chaque jour pendant plusieurs jours. Pour collecter le résultat, exécutez la commande suivante. La commande suivante affiche des informations générales sur la mémoire du système. Le nombre de cycles dans les résultats augmente d’un à chaque fois que les résultats sont collectés.
Exemple d’utilisation :
remote-exec cp f10mc -r 0
Exemple :
Commande :
Z9000#remote-exec cp f10mc –r 0
Réponse du système :
f10mc -r 0
{
----------------------
#### This cycle: 46176 bytes held by 56 allocations ####
M: 1888(16); +2329280(18371), -2329280(18371)
P: 0(0); +0(0), -0(0)
PC: 44288(40); +3053056(11226), -3053056(11226)
#### Since MCInit: 708902 bytes held by 2112 allocations ####
M: 52006(1338); +110122134(928732), -110070128(927394)
P: 0(0); +0(0), -0(0)
PC: 656896(774); +148369408(548411), -147712512(547637)
}
SStk-0 #
Les résultats suivants peuvent être demandés en plus des résultats de l’outil de surveillance de la mémoire.
Commandes associées :
remote-exec cp top -b -o res all
remote-exec cp netstat –m
remote-exec cp vmstat –s
show process memory
show process memory management
show memory
show clock
2b : Collecte des données de mémoire détaillées
Une fois la période de collecte de la commande « remote-exec cp f10mc –r 0 » terminée, le résultat de la commande suivante est demandé. La commande suivante permet d’obtenir des informations détaillées sur la mémoire du système.
Exemple d’utilisation :
remote-exec cp f10mc -r 1
Exemple :
Commande :
Z9000#remote-exec cp f10mc -r 1
Réponse du système :
f10mc -r 1
{
PC:mbpl:0xC71F5200:256:3
PC:mclpl:0xD7C24800:2048:3
PC:mbpl:0xC71F3500:256:3
{output truncated}
PC:mbpl:0xCAFC7F00:256:2
PC:mclpl:0xD7C4D000:2048:2
----------------------
#### This cycle: 286144 bytes held by 266 allocations ####
M: 3520(16); +21362(417), -20514(415)
P: 0(0); +0(0), -0(0)
PC: 282624(250); +1129472(2200), -1126912(2197)
#### Since MCInit: 599392 bytes held by 542 allocations ####
M: 5216(20); +67838(1335), -62622(1315)
P: 0(0); +0(0), -0(0)
PC: 594176(522); +3513088(6660), -2918912(6138)
}
SStk-0 #
Les ingénieurs évaluent les données collectées et expliquent comment collecter des informations supplémentaires pour vous aider à identifier la source de la fuite de mémoire. Les résultats demandés sont destinés aux allocations de mémoire suspectes :
Exemple d’utilisation :
remote-exec cp f10mc –c 0x
Exemple :
Commande :
Z9000# remote-exec cp f10mc –c 0xCE0DDD00
Réponse du système :
f10mc -c 0xCE0DDD00
PC:mbpl:0xCE0DDD00:256:2> 0xC0100EAD 0xC033DA54 0xC0137ADE 0xC0136DD0 0xC0142682 0xC013FA17 0xC0148C38 0xC037C808 0xC037BE3F 0xC09B805A
call trace:
0xC0100EAD in Xsoftintr
0xC033DA54 in softint_dispatch
0xC0137ADE in ipintr
0xC0136DD0 in ip_input
0xC0142682 in tcp_input
0xC013FA17 in syn_cache_get
0xC0148C38 in tcp_template
0xC037C808 in m_gethdr
0xC037BE3F in m_get
0xC09B805A in f10MC_pool_cache_get_paddr
SStk-0 #
3 : Désactivation de la surveillance de la mémoire
Pour désactiver l’outil de surveillance de la mémoire une fois l’analyse des données terminée.
Exemple d’utilisation :
remote-exec cp f10mc -i 0x0
Exemple :
Commande :
Z9000#remote-exec cp f10mc -i 0x0
Réponse du système :
f10mc -i 0x0
f10mc: deinitialized
SStk-0 #