Introduzione
In questo documento viene descritta la riduzione di traccia con i relativi vantaggi e il compromesso di debugabilità per Aggregation Services Router (ASR) 9K su Cisco IOS® XR.
Cosa sono le tracce?
Le tracce Lace vengono ampiamente utilizzate in Cisco IOS XR a scopo di debug. Ogni processo in Cisco IOS XR utilizza tracce che vengono archiviate in memoria e quindi consumano memoria man mano che crescono durante il tempo di funzionamento del router.
Configurazioni per modificare l'utilizzo di ltrace
Cisco IOS XR release 5.3.2 in avanti ha apportato modifiche per fornire opzioni che consentono di modificare l'utilizzo della traccia tramite due ddt:
1. ID bug Cisco CSCus39188 Fornire un'opzione per limitare l'utilizzo dello schema di traccia con l'opzione di scalabilità
2. ID bug Cisco CSCus39159 Fornire maggiori dettagli sull'utilizzo della memoria e dettagli in mostra riepilogo memoria
Dopo la configurazione, è necessario eseguire un ricaricamento per rendere effettive le modifiche.
Nota: a causa di DTS, l'ID bug Cisco CSCuz2580 il fattore di scala dinamica ltrace non può essere utilizzato nella release 5.3.x in quanto determina un arresto continuo delle schede fabric. Questo comando può essere utilizzato sui router di Cisco IOS XR versione 6.0.x e successive.
Comportamento predefinito
Annotare il comportamento predefinito dal punto di vista della traccia sul router ASR9K su Cisco IOS XR 5.3.2 e versioni successive.
RP/0/RSP1/CPU0:#show shmem summary location 0/1/cPU0
Total Shared memory: 1608M
ShmWin: 389M
Image: 882M
LTrace: 148M
AIPC: 27M
SLD: 3M
SubDB: 1016K
CERRNO: 144K
GSP-CBP: 62M
EEM: 0
XOS: 4M
CHKPT: 2M
CDM: 3M
XIPC: 1M
DLL: 64K
SysLog: 0
Miscellaneous: 81M
LTrace usage details:
Used: 148M, Max: 1884M
Current: default(dynamic)
Configured: dynamic with scale-factor: 16 (changes take effect after reload)
Modifiche alla configurazione
Dopo la configurazione, di seguito sono riportate le modifiche che si verificano per ridurre la traccia del fattore di scala 16 sulla scheda di linea Slot 1.
RP/0/RSP1/CPU0:#config t
RP/0/RSP1/CPU0:(config)#ltrace mode dynamic scale-factor 16 location 0/1/cpu0
RP/0/RSP1/CPU0:(config)#commit
RP/0/RSP1/CPU0:(config)#
Dopo il riavvio
Utilizzo di Ltrace dopo il ricaricamento LC:
RP/0/RSP1/CPU0:#show run | i ltrace
ltrace mode dynamic scale-factor 16 location 0/1/CPU0
RP/0/RSP1/CPU0:#show shmem summary location 0/1/CPU0
Total Shared memory: 1484M
ShmWin: 383M
Image: 882M
LTrace: 31M
AIPC: 27M
SLD: 3M
SubDB: 1016K
CERRNO: 144K
GSP-CBP: 62M
EEM: 0
XOS: 4M
CHKPT: 2M
CDM: 3M
XIPC: 1M
DLL: 64K
SysLog: 0
Miscellaneous: 80M
LTrace usage details:
Used: 31M, Max: 141M
Current: dynamic with scale-factor: 16
Configured: dynamic with scale-factor: 16
RP/0/RSP1/CPU0:#
Nota: questa modifica alla configurazione ha ridotto il tracciato massimo da 1884 M a 141 M e l'uso precedente da 148 M a 31 M. La memoria ottenuta dalla riduzione della traccia può essere disponibile per le operazioni e i processi del router Cisco IOS XR.
Confronto tra fattori di scala diversi
Ltrace predefinito
LTrace usage details:
Used: 563M, Max: 3612M
Current: default(dynamic)
Configured: default(dynamic)
Al fattore di scala 8
LTrace usage details:
Used: 76M, Max: 436M
Current: dynamic with scale-factor: 8
Configured: dynamic with scale-factor: 8
Al fattore di scala 16
Used: 31M, Max: 141M
Current: dynamic with scale-factor: 16
Configured: dynamic with scale-factor: 16
Differenze CLI in 32 e 64 bit su ASR9K
Comando a 32 bit
RP/0/RSP1/CPU0:#show shmem summary location 0/2/CPU0
Comando a 64 bit
RP/0/RSP1/CPU0:# show shared-memory location 0/RSP0/CPU0>>>>>> This cli is not supported on releases prior to 712/721
Comando Shell
# show_memory -m
Come evitare il ricaricamento dello chassis se la riduzione della traccia è necessaria solo sulle RP
- Eseguire il commit delle modifiche di configurazione solo per entrambi i processori di routing (RP).
- Ricaricamento Standby Route Switch Processor (RSP).
- Verificare la ridondanza show per assicurarsi che i RSP siano pronti sia per lo standby che per l'NSR.
- RP FO, che risulta in un precedente ricaricamento RSP attivo come parte di RP FO.
Domande e risposte
1. Che cosa sono i tracciati e qual è il loro scopo nel funzionamento del router?
Per il debug vengono utilizzate le tracce. Quasi tutti i processi XR li utilizzano per registrare tutti i tipi di eventi durante il loro funzionamento. Queste tracce consentono di eseguire il debug di operazioni impreviste del router.
2. Come viene calcolata la riduzione ltrace?
Se il valore con il fattore di scala predefinito è 1825 MB. Con un fattore di scala pari a 8, diventa 1825/8 = 228,125 ~= 248 MB.
3. Come viene calcolato il valore di traccia massimo?
Il valore massimo indica il numero massimo di tracce di memoria utilizzabili. È basato su un numero di processi e sulla relativa memoria di traccia cumulativa richiesta al processo responsabile della gestione delle tracce.
Per impostazione predefinita, ltrace non fornisce ai client la memoria richiesta in un unico blocco. Viene eseguita in modo dinamico in base all'utilizzo (in questo caso, la configurazione statica e quella dinamica entrano nell'immagine).
"Usata", invece, fornisce la memoria condivisa corrente attualmente utilizzata da tutti i client di ltrace.
RP/0/RSP0/CPU0:#show shmem summary location 0/0/CPU0
Total Shared memory: 1395M
ShmWin: 630M
Image: 407M
LTrace: 173M
AIPC: 28M
SLD: 3M
SubDB: 1016K
CERRNO: 144K
GSP-CBP: 58M
EEM: 0
XOS: 4M
CHKPT: 2M
CDM: 3M
XIPC: 1M
DLL: 64K
SysLog: 0
Miscellaneous: 80M
LTrace usage details:
Used: 173M, Max: 1825M
Current: default(dynamic)
Configured: default(dynamic)
4. Qual è il compromesso tra la riduzione delle tracce tramite la modifica della configurazione?
Se la modifica del commit di configurazione viene apportata con un fattore di scala diverso da quello predefinito, per il router sarà disponibile una maggiore quantità di memoria condivisa con un compromesso sulla debuggabilità in quanto il buffer dello storage di traccia verrà ridotto.
5. Quali sono i valori consigliati?
Ciò dipende in realtà dalla necessità di ridurre le tracce. Tuttavia, si consiglia di ridurre l'utilizzo della traccia sui provider di servizi di traduzione con meno memoria fisica installata. Ad esempio, su un A9K-RSP440-TR con 6 GB di memoria fisica, la riduzione delle tracce con un fattore di scala di 8 o 16 determina una quantità significativa di memoria disponibile per l'uso del sistema e quindi contribuisce a ridurre i tempi di inattività.
6. Come trovare i componenti ltrace consumer?
Collegamento a RP o scheda di linea LC tramite run ed execute shell CLI of du -sk /dev/shmem/ltrace/* | sort -n.