Contents

Introdução

Pré-requisitos

Requisitos

Componentes Utilizados

Informações de Apoio

Problema

Procedimento para resolver problemas de utilização de memória de alta troca com o CPS

Introdução

Este documento descreve o procedimento para solucionar problemas de utilização de memória de alta permuta com o Cisco Policy Suite (CPS).

Pré-requisitos

Requisitos

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

- Linux

- CPS

Observação: a Cisco recomenda que você tenha acesso raiz privilegiado à CLI do CPS.

Componentes Utilizados

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

- CPS 20.2

- Unified Computing System (UCS)-B

As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. Todos os dispositivos utilizados neste documento foram iniciados com uma configuração (padrão) inicial. Se a rede estiver ativa, certifique-se de que você entenda o impacto potencial de qualquer comando.

Informações de Apoio

O espaço de permuta no Linux é usado quando a quantidade de memória física (RAM) está cheia. Se o sistema precisar de mais recursos de memória e a RAM estiver cheia, as páginas inativas na memória serão movidas para o espaço de troca. Embora o espaço de troca possa ajudar as máquinas com uma pequena quantidade de RAM, ele não deve ser considerado um substituto para mais RAM. O espaço de permuta está localizado nos discos rígidos, que têm um tempo de acesso mais lento do que a memória física. O espaço de permuta pode ser uma partição de permuta dedicada (recomendável), um arquivo de permuta ou uma combinação de partições de permuta e arquivos de permuta.

Nos anos anteriores, a quantidade recomendada de espaço de troca aumentou linearmente com a quantidade de RAM no sistema. No entanto, os sistemas modernos geralmente incluem centenas de gigabytes de RAM. Como consequência, o espaço de troca recomendado é considerado uma função da carga de trabalho da memória do sistema, não da memória do sistema.

A troca de memória é um método de recuperação de memória em que o conteúdo da memória que não está em uso no momento é trocado para um disco para tornar a memória disponível para outros aplicativos ou processos. O estado exato ou a "página" da memória é copiada no disco para tornar os dados contíguos e fáceis de restaurar posteriormente.

Como a memória virtual, o espaço de troca é uma memória secundária. Ele é usado pelo Sistema Operacional (SO) quando não há memória física disponível para execução posterior dos processos. Se o sistema operacional enfrentar uma situação em que precisa de memória, mas a RAM está cheia, ele move as páginas inativas da RAM para trocar a memória.

Para verificar o espaço de swap livre disponível em sua máquina, você pode usar o comando free.

[root@dc1-qns01 ~]# free -m

total used free shared buff/cache available

Mem: 15876 4918 7750 792 3207 9987

Swap: 4095 0 4095

[root@dc1-qns01 ~]#

Problema

Uma porcentagem maior de uso de troca é normal quando os módulos provisionados fazem uso intenso do disco. O alto uso da troca deve ser um sinal de que o sistema sofre pressão de memória.

Esse alarme é gerado sempre que a memória de troca disponível na máquina virtual (VM) é menor do que o valor limite configurado.

Além disso, o uso alto de memória de troca é observado na VM pcrfclient01 no início do evento de resiliência. O diagnóstico falha após executar o diagnostic.sh devido a um problema de memória de troca baixa na VM pcrfclient.

Checking swap space for all VMs...

Checking swap memory usage on pcrfclient01...[FAIL]

Swap usage is 1835 MB. This will likely lead to a slowdown in your system!

Please ensure your memory is provisioned properly.

If systems memory usage is no longer high, you can reset swap with: swap2ram.sh

Condição: O diagnóstico falha após executar o diagnostic.sh devido a um problema de memória de troca baixa na VM pcrfclient.

Procedimento para resolver problemas de utilização de memória de alta troca com o CPS

Abordagem 1.

A solução para alto uso de memória de troca é observada na VM pcrfclient01 no momento do evento de resiliência.

1. Efetue login na VM pcrfclient e verifique a memória do disco usando o comandodu -sh *.

2. Verifique /var/lib/carbon/whisper/cisco/quantum o uso de memória no diretório. Se for observado um aumento no uso de memória, o problema ocorre devido aos arquivos de estatísticas.

3. Para recuperar memória, exclua os arquivos de estatísticas (.wsp) ou aumente a memória de disco da VM.

4. Para recuperar a memória, delete as estatísticas manualmente da pasta  /var/lib/carbon/whisper/cisco/quantum ou delete as estatísticas usando estas etapas:

- Execute df –h o comando e anote os espaços de disco.

- Execute estes comandos:

#du -h --max-depth=0 /var/lib/carbon/whisper/cisco/quantum/qps

#monit stop grafana-server

#monit stop carbon-cache

#vi /etc/carbon/storage-schemas.conf

- Atualize o período de retenção (de 90 dias para 30 dias) localizado no final do arquivo. Isso resulta em um período de retenção mais agressivo.

Mais antigo - retenções: 10s:1d,60s:90d

Atualização para - retenções: 10s:1d,60s:30d

- Após a atualização do período de retenção, execute estes comandos:

#monit start carbon-cache

#monit start grafana-server

Observação: como alternativa, você pode usar systmctl start/stop/restart o comando em vez do monit start/stop/restart comando.

- Crie um arquivo chamado resize.sh e adicione-o.

#monit stop carbon-cache

#cd /var/lib/carbon/whisper/cisco/quantum/qps

#find ./ -type f -name '*.wsp' -exec whisper-resize --nobackup {} $1 \;

#chown -R carbon:carbon *

#monit start carbon-cache

#monit restart grafana-server

- Adicione as permissões necessárias usando o comandochmod 777 resize.sh.

- Executar  ./resize.sh "updated_retention_value"

Comando de exemplo: #./resize.sh "10s:1d 60s:30d"

- Quando o script estiver concluído, execute estes comandos para confirmar se a quantidade de dados foi reduzida pela comparação entre o resultado anterior e o atual.

#run df –h: disk space should reduce or less than previous result

#du -h --max-depth=0 /var/lib/carbon/whisper/cisco/quantum/qps

- Verifique se o Grafana exibe as estatísticas dos últimos 30 dias e não mais de 30 dias. (o período de retenção atualizado é de 30 dias).

Abordagem 2.

Recomendação geral para resolver a utilização de memória de alta troca.

Para limpar a memória de troca do sistema, basta desligar e religar a troca. Isso move todos os dados da memória de troca de volta para a RAM. Isso também significa que você precisa ter certeza de que tem a RAM para suportar essa operação. Uma maneira fácil de fazer isso é executar o free -m para ver o que é usado na troca e na RAM. Depois de desligá-la, você pode esperar um tempo arbitrário (30 segundos ou mais) para que a operação seja concluída e, em seguida, ligar novamente a troca. Isso limpa o cache da memória de troca e o reativa. Aqui estão todos os comandos que você precisa.

1. Verifique o uso do espaço de troca: # free -m

2. Desabilitar troca:  # swapoff -a

Aguarde aproximadamente 30 s. Execute free -m para ver a quantidade de troca usada/disponível diminuir com o tempo.

3. Habilitar troca:# swapon -a