Introduzione
Questo documento aiuta a comprendere l'utilizzo medio della memoria sul dispositivo Nexus 3000.
Contributo di Narottama Sahoo, Santhosh Shankar, Cisco TAC Engineers
Sfondo
L'utilizzo della memoria in nexus 3000 può variare in base alla versione in esecuzione sul dispositivo.
Nelle versioni più recenti, a causa dell'aggiunta di nuove funzionalità, l'utilizzo di memoria sarà probabilmente elevato rispetto alle versioni precedenti
Prerequisiti
Requisiti
Cisco raccomanda la conoscenza dei seguenti argomenti:
Componenti usati
Le informazioni fornite in questo documento si basano sulle seguenti versioni software e hardware:
- Nexus serie 3000 piattaforma
- Versione codice 6.x e 7.x
Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.
Suggerimenti per la risoluzione dei problemi
Di seguito sono riportati alcuni output di esempio del mio laboratorio (N3548 configurato in modo minimo) che mostrano l'utilizzo della memoria di base sulla piattaforma.
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--
Tutti i processi in esecuzione utilizzeranno una certa quantità di memoria per le operazioni di text/heap/stack/data/shared-lib. La CLI precedente indica l'utilizzo proporzionale della memoria per processo (tiene conto delle pagine di memoria condivise tra i processi). Aggiungendo l'utilizzo proporzionale della memoria di tutti i processi, è possibile ottenere una rappresentazione dell'utilizzo della memoria da parte dei processi dello spazio utente. Su uno switch lab, la somma di utilizzo di base per tutti i processi in esecuzione è stata circa il 42% dell'utilizzo complessivo (943276 kB).
N3K-3548.42# sh system internal kernel meminfo | egrep "ShmFS|^In cache"
In cache: 1174236 kB
ShmFS: 1169840 kB
I file binari / le configurazioni / ecc di NX-OS vengono estratti dalle immagini di kickstart/sistema durante l'avvio. Questi risiedono in file system temporanei non supportati da storage persistente e sono considerati da linux come ShmFS.
Oltre all'utilizzo di ShmFS, Linux memorizza temporaneamente nella cache i contenuti dei file letti/referenziati dai processi. Il contatore memorizzato nella cache è la somma di ShmFS e dei file memorizzati nella cache. Dall'output sopra riportato, è possibile osservare che l'utilizzo nella cache rappresenta circa il 52% dell'utilizzo complessivo (1174236 kB).
N3K-3548.42# sh system internal kernel meminfo | egrep "Lastra"
Lastra: 85376 kB
Infine, il kernel utilizza anche una certa quantità di memoria per le strutture di dati interne. Slab tiene conto delle strutture di dati kernel e kernel_module. Dall'output sopra riportato, l'utilizzo di lastre rappresenta circa il 4% dell'utilizzo complessivo (85376 kB).
Esiste un ulteriore utilizzo della memoria che non viene interrotto dal kernel linux, ma che è in grado di gestire solo circa 50 MB. Per ulteriori informazioni, consultare la documentazione relativa all'architettura Linux.
In proporzione all'utilizzo di base, i file system temporanei sono i più grandi consumatori di memoria. Si tratta di un comportamento previsto e comune a tutte le piattaforme basate su NX-OS.
Per NX-OS con 5.X l'utilizzo medio sarà di circa il 40%
Per NX-OS con un utilizzo medio di 6,X compreso tra il 60% e il 70%
Per NX-OS con utilizzo 7.X sarà circa l'80%
Pertanto, un maggiore utilizzo della memoria è probabilmente un fattore di nuove funzionalità in ciascuna release e un maggiore ingombro di base per il sistema operativo.
Output di esempio raccolto senza alcuna configurazione predefinita sul dispositivo
Versione: 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)
Versione: 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)
Consigli:
Consultare sempre le note sulla versione per conoscere i requisiti di sistema per ogni software. I requisiti hardware e software variano in particolare in base alla memoria durante l'aggiornamento a una versione più recente del codice.
Link utili:
Note sulla release