Contents

Introduction

Background

Prerequisites

Requirements

Componentes Utilizados

Dicas para Troubleshooting

Introduction

Este documento ajuda a entender a utilização média de memória no dispositivo Nexus 3000.

Contribuído por Narottama Sahoo, Santhosh Shankar, engenheiros do TAC da Cisco

Background

A utilização da memória no nexus 3000 provavelmente varia com base na versão em execução no dispositivo.

Em versões mais recentes devido à adição de novos recursos, o uso da memória provavelmente será alto quando comparado com a versão mais antiga

Prerequisites

Requirements

A Cisco recomenda que você tenha conhecimento destes tópicos:

- Interface de linha de comando do Nexus

- Entendendo como a memória flash e RAM funciona no mundo do computador

Componentes Utilizados

As informações neste documento são baseadas nestas versões de software e hardware:

- Plataforma Nexus 3000 Series

- Código versão 6.x e 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. Se a rede estiver ativa, certifique-se de que você entenda o impacto potencial de qualquer comando.

Dicas para Troubleshooting

Abaixo estão alguns exemplos de saídas do meu laboratório (N3548 configurado minimamente) que demonstram a utilização da memória de linha de base na plataforma.

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--

Todos os processos em execução consumirão alguma memória para texto/heap/stack/data/shared-lib.   A CLI acima relata a utilização proporcional da memória por processo (leva em conta as páginas de memória compartilhadas entre os processos).  Ao adicionar o uso proporcional de memória de todos os processos, podemos obter uma representação do uso de memória dos processos do espaço de usuário.  No switch do laboratório, a soma da utilização da linha de base para todos os processos em execução foi aproximadamente 42% da utilização geral (943276 kB).

N3K-3548.42# sh system internal kernel meminfo | expoente "ShmFS|^Cached"

Em cache: 1174236 kB

FS: 1169840 kB

Os binários/configurações/etc do NX-OS são extraídos das imagens de início/sistema durante a inicialização.  Eles residem em sistemas de arquivos temporários sem suporte de armazenamento persistente e são contabilizados pelo linux como ShmFS.

Além do uso do ShmFS, o linux armazenará temporariamente em cache o conteúdo do arquivo que será lido/referenciado por processos.  O contador em cache é uma soma de ShmFS e arquivos em cache.   Na saída acima, você pode ver que o uso em cache representa aproximadamente 52% da utilização geral (1174236 kB).

N3K-3548.42# sh system internal kernel meminfo | grupo "Slab"

Slab: 85376 kB

Finalmente, o kernel também usa alguma memória para estruturas de dados internas.  Contas de Slab para estruturas de dados de kernel e kernel_module.  Da saída acima, o uso do Slab representa aproximadamente 4% da utilização geral (85376 kB).

Há alguma utilização de memória adicional que não é dividida pelo kernel do linux, mas é responsável apenas por aproximadamente 50 mb.  Para obter mais informações, consulte a documentação da arquitetura linux.

Como proporção da utilização da linha de base, os sistemas de arquivos temporários são o maior consumidor de memória.  Esse comportamento é esperado e comum entre todas as plataformas baseadas em NX-OS.

Para o NX-OS executando 5.X, a utilização média será de cerca de 40%

Para NX-OS executando 6,X, a utilização média varia entre 60 e 70%

Para o NX-OS executando a 7.X, a utilização média será de cerca de 80%

Portanto, o aumento no uso da memória é provavelmente um fator de novos recursos em cada versão e um espaço base maior para o SO.

Exemplo de saída coletada sem nenhuma configuração padrão no dispositivo

Versão: 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)

Versão: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)

Recomendações:

Consulte sempre as notas de versão para entender os requisitos do sistema para cada software. Os requisitos de hardware e software especificamente a memória variam durante a atualização para uma versão mais recente do código.

Links úteis:

Notas de versão