Todos os produtos
Search
Central de documentação

Container Service for Kubernetes:Diagnóstico de memória

Última atualização: Aug 25, 2026

Identifique vazamentos de memória, fragmentação e erros OOM em clusters ACK usando diagnósticos visuais.

O diagnóstico de memória abrange três áreas: visão geral da memória, análise de memória e análise de OOM. Inspecione a memória nos níveis de nó e pod.

Nota

Os itens de diagnóstico exibidos refletem a configuração real do seu cluster.

Importante

Ao executar diagnósticos, o ACK coleta dados de cada nó, incluindo versão do sistema, status de carga, status do docker e do kubelet, além de mensagens de erro importantes nos logs do sistema. O ACK não coleta dados de negócios ou informações confidenciais.

Fluxo de trabalho de diagnóstico

Use as três áreas de diagnóstico em sequência para isolar problemas de memória:

  1. Visão geral da memória — Verifique riscos como vazamentos, fragmentação, entradas Memcg não liberadas e desperdício de THP. Use os gráficos para confirme se o uso anormal ocorre na memória do kernel ou da aplicação.

  2. Análise de memória — Investigue o uso de memória no nível de processo e pod para identificar qual processo ou container consome quantidade excessiva de memória anônima, page cache ou memória compartilhada.

  3. Análise de OOM — Revise a contagem e os tipos de eventos OOM para determinar se os erros ocorrem no nível do nó (Host) ou do container (cgroup) e quais containers atingiram seus limites de memória.

Visão geral da memória

Identifica riscos de memória nos seguintes itens de diagnóstico.

Item de diagnóstico

Descrição

Leaked Memory

Verifica vazamentos de memória do kernel no Slab, Vmalloc e buddy system (allocpage).

Memory Usage

Exibe a utilização da memória do sistema.

Memcg

Verifica se grupos de memória cgroups (Memcg) não liberados degradam o desempenho do sistema ou causam erros estatísticos.

Memory Fragmentation

Detecta fragmentação de memória que degrada o desempenho do sistema.

THPZeroPage

Avalia a proporção de desperdício de Transparent Huge Page (THP).

O uso da memória do sistema aparece em gráficos divididos em três categorias:

  • Memória do kernel (kernel): total de memória usada pelo kernel do sistema operacional.

  • Memória da aplicação (app): total de memória usada por programas em modo usuário.

  • Memória livre (free): total de memória livre do sistema.

Conceitos principais

Os termos a seguir são usados em todo o diagnóstico de memória.

Termo

Descrição

Vazamento de memória

Ocorre quando memória alocada dinamicamente nunca é liberada, fazendo com que o uso cresça continuamente. Vazamentos não resolvidos degradam o desempenho e podem causar falhas.

Utilização de memória

Utilização de memória = (Memória total - Memória livre) x 100 / Memória total. O page cache conta como memória livre e não afeta a utilização, pois o kernel pode recuperá-lo a qualquer momento.

Memcg não liberado

Grupo de memória cgroup não liberado devido a uma exceção do sistema. Pode degradar o desempenho do sistema.

Fragmentação de memória

Com o tempo, blocos contíguos de memória livre tornam-se pequenos demais para grandes solicitações de alocação. Isso atrasa a alocação e causa instabilidade nas aplicações.

Proporção de desperdício de THP

Proporção de desperdício de THP = Número de THPs zeradas x 100% / Número total de THPs. Consulte Detalhes sobre THP abaixo.

Buddy system

Algoritmo do kernel Linux para gerenciamento de páginas de memória. Divide as páginas em 11 grupos com tamanhos de bloco em potência de dois: 4 KB, 8 KB, 16 KB, 32 KB ... 4 MB. A maioria das páginas tem 4 KB.

Slab

Aloca pequenos pedaços de memória sobre o buddy system.

Vmalloc

Aloca memória com mapeamento não linear sobre o buddy system.

Page cache (filecache)

O Linux armazena conteúdo de arquivos em cache na memória para acelerar acessos subsequentes.

Memória anônima

Memória alocada dinamicamente para heap e stack de um processo via new, malloc ou mmap. Não possui suporte em sistema de arquivos.

Memória compartilhada

Bloco de memória compartilhado por dois ou mais processos para comunicação entre eles.

tmpfs

Sistema de arquivos temporário do Linux suportado por memória. Todas as leituras e gravações ficam armazenadas em cache na memória.

hugetlb

Memória consumida por huge pages em um sistema de arquivos.

Detalhes sobre THP

Transparent Huge Pages (THP) são huge pages com tamanho de 2 MiB ou 1 GiB no kernel. Cada subpágina tem 4 KiB; portanto, uma THP de 2 MiB equivale a 512 subpáginas.

Com o THP ativado, o kernel aloca THPs dinamicamente para reduzir falhas no Translation Lookaside Buffer (TLB) e melhorar o desempenho. No entanto, o THP pode causar inchaço de memória e overcommitment: quando uma aplicação solicita apenas 8 KiB (2 subpáginas), o kernel aloca uma THP completa de 2 MiB. Isso deixa 510 subpáginas zeradas que desperdiçam resident set size (RSS) e podem desencadear erros OOM.

Métricas de memória do kernel

Na maioria dos casos, vazamentos de memória indicam uso anormal no Sunreclaim ou no buddy system. Monitore essas métricas atentamente.

Métrica

Descrição

SReclaimable

Memória que o Slab pode recuperar.

Sunreclaim

Memória que o Slab não pode recuperar. Crescimento anormal indica fortemente um vazamento de memória do kernel.

PageTables

Memória ocupada pelas tabelas de páginas do kernel.

Vmalloc

Memória alocada pelo Vmalloc.

KernelStack

Total de memória de stack do kernel usada pelos processos.

AllocPages

Memória alocada do buddy system por funções como alloc_pages. Não é recuperável por nenhum arquivo do nó; o uso excessivo cria um buraco negro de memória.

Métricas de memória da aplicação

Ao analisar o uso de memória em modo usuário, concentre-se na memória anônima, memória compartilhada e page cache.

Métrica

Descrição

filecache

Page cache recuperável ao execute drop caches.

anon

Memória anônima usada pela heap e stack de um programa. Uso elevado sugere vazamento de memória do processo ou THP ativado.

mlock

Memória bloqueada pelo sistema.

huge

Memória usada por huge pages.

buffer

Memória usada por metadados de dispositivos de bloco e sistemas de arquivos.

shmem

Memória compartilhada (tmpfs). Vazamentos ocorrem se um arquivo tmpfs não for excluído após a saída do processo ou se um arquivo for excluído enquanto ainda está aberto.

Análise de memória

Fornece duas visualizações: memória de processo e memória de pod.

Memória de processo

Lista processos ordenados por uso de memória e detalha memória anônima, page cache e memória compartilhada.

Memória de pod

Mostra quais arquivos ocupam page cache e memória compartilhada em cada container e pod, com as proporções de cache ativo e inativo.

Item de diagnóstico

Descrição

Pod

Nome do pod.

Container

Nome do container.

File

Caminho completo do arquivo, incluindo o nome.

Cache

Page cache (filecache) ocupado pelo arquivo.

Container Cache

Cache no nível do container ocupado pelo arquivo. Vários processos no mesmo container podem referenciar o mesmo arquivo.

Active Cache

Page cache atualmente em uso.

Inactive Cache

Page cache não usado, elegível para recuperação.

Análise de OOM

Diagnostica erros de falta de memória (out-of-memory) nos seguintes itens.

Item de diagnóstico

Descrição

OS OOM Count

Total de erros OOM desde a inicialização do host até o diagnóstico.

Available Memory

Memória livre atual do sistema.

Low Watermark

Limiar baixo de memória. Quando a memória disponível cai abaixo deste valor, o kernel aciona a recuperação assíncrona de memória.

Container

Nome do pod, ID do container ou nome do cgroup.

limit

Limite de memória defina para o container.

usage

Memória atual usada pelo container.

OOM Count

Total de erros OOM no container.

OOM Type

Tipo de erro OOM: Host ou cgroup.