tencent cloud

Cloud Virtual Machine

Taxa de uso de memória demasiado alto para instância Linux

PDF
Modo Foco
Tamanho da Fonte
Última atualização: 2024-01-24 10:06:02

Descrição do erro

O CVM do Linux encontra problemas de memória, como velocidade de resposta de serviço lenta, falha de login do CVM ou falta de memória (OOM, na sigla em inglês).

Possíveis causas

Esses problemas podem ser causados pela alta utilização de memória da instância, ou seja, a utilização de memória geralmente fica acima de 90%.

Abordagens de solução de problemas

1. Realize o procedimento de solução de problemas para verificar se a utilização da memória está muito alta.
2. Consulte a análise de problemas de memória para encontrar as causas dos problemas.

Procedimento de solução de problemas

1. Siga as instruções para verificar se a utilização da memória está muito alta.
Se estiver, prossiga para a próxima etapa.
Se não estiver, consulte a análise de problemas de memória para encontrar as causas dos problemas.
2. Faça login no CVM, execute o comando top e pressione M para verificar se há processos nas colunas “RES” e “SHR” usando muita memória.
Se não houver, prossiga para a próxima etapa.
Se houver, realize as operações descritas em análise de processo de acordo com o tipo de processo.
3. Execute o comando a seguir para verificar a utilização da memória compartilhada.
cat /proc/meminfo | grep -i shmem
As seguintes informações serão exibidas:


4. Execute o comando a seguir para verificar a utilização de memória slab não recuperável.
cat /proc/meminfo | grep -i SUnreclaim
As seguintes informações serão exibidas:


5. Execute o comando a seguir para verificar se existem huge pages.
cat /proc/meminfo | grep -iE "HugePages_Total|Hugepagesize"
As seguintes informações serão exibidas:


Se a saída de HugePages_Total for 0, consulte a análise de problemas de memória para encontrar as causas dos problemas.
Se a saída de HugePages_Total não for zero 0, existem huge pages (páginas enormes). O tamanho da huge page equivale a HugePages_Total * Hugepagesize. Verifique se as huge pages foram configuradas por um programa mal-intencionado, ou caso elas sejam desnecessárias, você pode converter o item de configuração vm.nr_hugepage no arquivo /etc/sysctl.conf em comentário, e então executar o comando sysctl -p para abandonar as huge pages.

Instruções

Exibição da utilização da memória

A saída do comando free pode variar com as distribuições do Linux, o que não é confiável para calcular a utilização de memória. Realize as etapas a seguir para exibir a utilização da memória na página Monitoring (Monitoramento) do console do CVM.
1. Faça login no console do CVM e acesse a página Instances (Instâncias).
2. Clique no ID/Name (ID/Nome) da instância para acessar a página de detalhes. Selecione a guia Monitoring (Monitoramento).
3. Exiba a utilização da memória na seção Memory Monitor (Monitor de memória), conforme mostrado abaixo:



Cálculo da utilização da memória

O uso de memória é a razão da memória usada pela total, excluindo o buffer e o cache do sistema. A fórmula de cálculo é a seguinte: = (Total - available)100% / Total = (Total - (Free + Buffers + Cached + SReclaimable - Shmem)) * 100% / Total = (Total - Free - Buffers - Cached - SReclaimable + Shmem) * 100% / Total
Os parâmetros obrigatórios Total, Free, Buffer, Cached, SReclaimable, e Shmem podem ser obtidos em /proc/meminfo. Veja abaixo um exemplo de /proc/meminfo.
1. [root@VM_0_113_centos test]# cat /proc/meminfo
2. MemTotal: 16265592 kB
3. MemFree: 1880084 kB
4. ......
5. Buffers: 194384 kB
6. Cached: 13647556 kB
7. ......
8. Shmem: 7727752 kB
9. Slab: 328864 kB
10. SReclaimable: 306500 kB
11. SUnreclaim: 22364 kB
12. ......
13. HugePages_Total: 0
14. Hugepagesize: 2048 kB
Os parâmetros são descritos a seguir:
Parâmetro
Descrição
MemTotal
Memória total do sistema
MemFree
Memória livre
Buffers
Página em cache usada por dispositivos de bloco para leitura/gravação e metadados do sistema de arquivos (como SuperBlock)
Cached
Cache de página, incluindo memória compartilhada POSIX/SysV e mmap anônimo compartilhado de tmpfs
Shmem
Incluindo memória compartilhada, tmpfs etc.
Slab
Memória alocada pelo alocador de memória slab do kernel, que pode ser exibida usando o comando slabtop
SReclaimable
Slabs recuperáveis
SUnreclaim
Slabs não recuperáveis
HugePages_Total
Quantidade total de huge pages
Hugepagesize
Tamanho de uma huge page

Análise de problemas de memória

Se o problema persistir, ou caso receba os erros abaixo durante o uso do CVM, consulte as soluções correspondentes:

Ajuda e Suporte

Esta página foi útil?

comentários