Saltar para o conteúdo principal

Memória

Distribuição em tempo real da memória (Livre/Inativa/Ativa/Fixada) com gráficos de alocação e histórico.

Visão geral

A ferramenta Memória mostra como a RAM do seu dispositivo está alocada, quanto está prontamente recuperável e como a distribuição muda ao longo do tempo.

Foi concebida para responder a perguntas práticas como:

  • "Este dispositivo está sob pressão de memória neste momento?"
  • "A memória está a ser retida pelo sistema (fixada), pelas apps (ativa) ou pelos caches (inativa)?"
  • "O meu uso de memória está estável ao longo do tempo ou a disparar?"

No Lirum, Memória Disponível é a quantidade de memória que o iOS normalmente pode recuperar rapidamente: Livre + Inativa.

Índice

Separadores

  • Visão geral
  • Detalhes
  • Histórico

Separador Visão geral

O separador Visão geral foca-se na Memória Disponível:

  • Um indicador circular que mostra a percentagem disponível.
  • A quantidade disponível e a RAM total.
  • Uma tabela compacta de distribuição: Livre, Inativa, Ativa, Fixada.

Use esta vista quando quiser uma leitura rápida do tipo "o dispositivo está saudável neste momento?". Se a distribuição em quatro linhas não somar o Total, veja Memória comprimida e “Outro”.

Visão geral: indicador de Memória Disponível mais a distribuição Livre/Inativa/Ativa/Fixada.

Separador Detalhes

O separador Detalhes fornece uma distribuição mais completa:

  • Gráfico de Alocação de Memória (Ativa/Fixada/Inativa/Livre).
  • Tabela de Informações Detalhadas de Memória com tamanho e percentagem.
  • Uma linha Disponível que combina Livre + Inativa.

Este é o melhor local para entender que tipo de memória está a ser usada (e se é provável que seja recuperada). Se as percentagens de Livre/Inativa/Ativa/Fixada não somarem 100%, é geralmente porque alguma memória está atualmente contabilizada como Comprimida ou “Outro”.

Detalhes: gráfico de alocação mais uma tabela detalhada com tamanhos e percentagens.

Separador Histórico

O separador Histórico ajuda a compreender tendências em vez de um único instantâneo:

  • Histórico de Alocação de Memória: uma linha temporal empilhada para Livre/Inativa/Ativa/Fixada.
  • Histórico de Uso de Memória: uma vista simplificada do uso geral ao longo do tempo.

Use o Histórico quando:

  • Suspeitar de uma fuga de memória ou carga descontrolada (uso a subir continuamente).
  • Quiser correlacionar engasgos/recarregamentos de apps com pressão de memória (picos de uso seguidos de queda).
  • Quiser ver se a memória fixada cresce e mantém-se alta (frequentemente pressão do sistema/driver).
Histórico: veja como a alocação de memória e o uso geral mudam ao longo do tempo.

Estados da Memória

O Lirum usa as mesmas categorias de alto nível que o iOS reporta. Estas são as categorias mais úteis como "modelo mental" para a memória do iOS:

CategoriaO que normalmente significaO iOS pode recuperar rapidamente?
LivreRAM não usada, pronta para alocarSim (já livre)
InativaPrincipalmente caches e páginas não usadas recentementeFrequentemente
AtivaConjunto de trabalho que está a ser usado agoraNão diretamente
FixadaMemória do sistema fixada, não paginávelNão
ComprimidaPáginas armazenadas no compressor de memóriaNão diretamente
OutroCategoria residual (varia por SO/dispositivo)Depende

Disponível (Livre + Inativa)

Disponível é uma métrica prática de "quanto espaço tenho?".

  • Livre: páginas que já estão não usadas.
  • Inativa: principalmente páginas de cache que podem ser descartadas ou reutilizadas quando algo mais precisa de memória.

Por isso, o Lirum mostra Disponível = Livre + Inativa no indicador da Visão geral e na tabela de Detalhes.

Nota: Disponível não é uma garantia de que o sistema lhe dará instantaneamente essa quantidade de memória sem custo. Recuperar páginas inativas pode envolver trabalho (descartar caches, gravar páginas modificadas, reconstruir dados em cache mais tarde).

O que significa na prática:

  • Se Disponível for alto e estável, o dispositivo geralmente tem margem, mesmo que Livre seja baixo.
  • Se Disponível for consistentemente baixo (e se mantiver baixo enquanto realiza tarefas normais), o iOS tem menos cache para recuperar e pode começar a aplicar medidas de pressão mais fortes (compressão, terminação de apps).
  • Uma queda breve ao abrir uma app é normal. Um declínio lento e constante que não recupera é um padrão comum de "pressão".

Fixada

A memória Fixada é RAM que está fixada (não paginável) e não pode ser comprimida ou recuperada sob demanda.

Pense na Fixada como memória que "deve permanecer residente". Geralmente pertence ao kernel e serviços de sistema de baixo nível, sendo necessária para a correção ou comportamento em tempo real.

Exemplos típicos:

  • Memória do kernel e serviços centrais do SO
  • Drivers de hardware e buffers DMA
  • Superfícies gráficas/display e algumas alocações relacionadas com GPU
  • Memória que deve permanecer residente por razões de tempo real ou correção

Por que é importante:

  • A memória fixada é a categoria menos flexível. Se crescer muito, o iOS tem menos opções para libertar RAM, aumentando a pressão de memória mais cedo.
  • Um dispositivo pode mostrar pouca memória Livre e ainda estar bem, mas Fixada consistentemente alta é mais difícil para o iOS contornar.

Padrões comuns:

  • Fixada pode aumentar durante uso da câmara, AR, jogos, pipelines de vídeo, I/O intenso ou quando acessórios externos estão em uso.
  • Fixada tende a ser "pegajosa". Algumas alocações fixadas não diminuem rapidamente, e algumas só se reiniciam após reboot.
  • Se Fixada crescer continuamente e não diminuir, pode indicar pressão sustentada a nível do sistema (ou fuga em serviços do sistema ou drivers).

Ativa

A memória Ativa é RAM que está a ser usada atualmente (frequentemente referenciada) por apps e pelo sistema.

Ativa não é apenas "memória da app". Inclui quaisquer páginas que o SO considera quentes agora, incluindo páginas com suporte de ficheiro (por exemplo, código e frameworks) e páginas anónimas (por exemplo, heaps e stacks).

Exemplos típicos:

  • Heaps e conjuntos de trabalho das apps
  • Caches de ficheiros em uso e media decodificada atualmente usada
  • Estruturas de dados que o sistema/app está a tocar ativamente

Por que é importante:

  • A memória ativa não é memória "desperdiçada"; é memória de trabalho. Geralmente acompanha o que está a fazer.
  • O iOS não pode simplesmente "libertar" páginas ativas sem consequências. Sob pressão, o iOS tenta recuperar primeiro dos caches; se não for suficiente, pode comprimir memória e eventualmente terminar apps.

Padrões comuns:

  • Ativa geralmente sobe ao abrir apps e trabalhar, e pode cair quando apps são terminadas ou quando as suas páginas ficam inativas ao longo do tempo.
  • Se Ativa continuar a subir enquanto a carga de trabalho não muda (ou enquanto o dispositivo está inativo), pode ser um sinal de fuga de memória ou cache descontrolado numa app.

Inativa

A memória Inativa é RAM que foi usada recentemente e está agora principalmente a ser mantida como cache.

Inativa é onde o iOS obtém a maior parte da sua margem de "recuperação rápida". Uma grande parte da memória inativa é cache de ficheiros limpos que pode ser descartado e reconstruído mais tarde se necessário.

Exemplos típicos:

  • Páginas de ficheiros em cache
  • Memória de apps usada recentemente que pode ser reutilizada
  • Dados que não são ativamente referenciados mas são mantidos porque podem voltar a ser úteis

Por que é importante:

  • Inativa é geralmente o primeiro local de onde o iOS recupera quando uma nova alocação precisa de RAM.
  • Inativa alta é frequentemente boa: pode significar que o iOS está a usar a RAM eficientemente como cache.

Padrões comuns:

  • Inativa cresce frequentemente após lançamentos de apps, leitura de ficheiros, scroll de media ou carregamento de conteúdo web (essas páginas tornam-se cache).
  • Sob pressão de memória, Inativa deve diminuir à medida que o iOS reutiliza páginas em cache para novas alocações.
  • Se Inativa já estiver baixa e Disponível se mantiver baixo, o iOS tem menos memória "fácil" para recuperar, e pode atingir pressão mais cedo.

Livre

A memória Livre é RAM que está atualmente não alocada e pronta a usar.

No iOS, Livre é frequentemente baixo por design. O SO tenta manter a RAM ocupada como cache para que o próximo lançamento de app, scroll ou leitura de ficheiro seja mais rápido.

Por que é importante:

  • Livre tende a ser pequeno no iOS mesmo em dispositivos saudáveis porque o iOS prefere manter a RAM a trabalhar como cache (Inativa) em vez de a deixar sem uso.
  • Pouca memória Livre por si só não é um problema se Inativa estiver saudável e o dispositivo não estiver sob pressão.

Memória Comprimida e “Outro” (por que os números podem não somar)

Na app, o iOS também reporta categorias adicionais de memória como a memória Comprimida, além de outras alocações do sistema que não se encaixam claramente nas quatro listas principais de páginas.

A memória Comprimida é RAM que o iOS compactou armazenando páginas numa forma comprimida. Este é um dos principais mecanismos de alívio de pressão do iOS:

  • A compressão poupa RAM, mas ainda usa RAM (e CPU para comprimir e descomprimir).
  • Um aumento da pegada comprimida é frequentemente um sinal de que o sistema está a trabalhar mais para evitar terminar apps.
  • Se uma página comprimida for acedida novamente, o iOS tem de a descomprimir, o que pode adicionar latência e aumentar o uso de CPU.

Outro é uma categoria residual para tudo o que não está representado nas quatro categorias principais. Pode incluir várias alocações do sistema e categorias de contabilidade de VM que o iOS reporta de forma diferente entre versões do SO e dispositivos.

No Lirum:

  • A distribuição da Visão geral e o gráfico de Detalhes focam-se nos quatro estados mais interpretados: Livre, Inativa, Ativa, Fixada.
  • A memória Total mostrada é a RAM física do seu dispositivo.

Por isso, a distribuição em quatro linhas pode não somar exatamente ao Total em todos os dispositivos e versões do SO. O valor "em falta" é tipicamente memória atualmente contabilizada como Comprimida, mais alocações diversas do sistema (Outro).

O que o iOS faz sob pressão

Quando a RAM fica escassa, o iOS normalmente aplica pressão em etapas:

  • Recuperar caches primeiro: reutilizar páginas Livres, depois recuperar caches Inativos (descartar cache de ficheiros limpos, purgar alguns caches).
  • Comprimir memória: armazenar páginas menos recentemente usadas numa forma comprimida para adiar a terminação de apps.
  • Terminar apps: se a pressão continuar, o iOS pode terminar apps em segundo plano (e eventualmente em primeiro plano) para libertar memória. Isto aparece frequentemente como recarregamentos de apps quando volta a elas.

A ferramenta Memória é mais útil quando observa estas etapas a acontecer ao longo do tempo usando o separador Histórico.

Como interpretar os números

  • Disponível (Livre + Inativa) é a métrica mais rápida de "margem de manobra".
  • Fixada é a categoria mais difícil de gerir. Se Fixada crescer, o sistema tem menos opções.
  • Inativa ser grande é frequentemente normal e bom (cache). Deve diminuir quando o sistema precisa de memória.
  • Se Ativa + Fixada crescer e Disponível diminuir ao longo do tempo, pode ver recarregamentos de apps, engasgos ou pressão do sistema.
  • Use o separador Histórico para analisar tendências. Instantâneos únicos são fáceis de interpretar mal no iOS porque o SO usa agressivamente RAM para cache.
  • Se vir um declínio constante em Disponível enquanto faz algo repetível, isso é um indicador mais forte de problema do que qualquer número isolado.

Notas e limitações

  • O iOS gere a memória automaticamente; ver pouca memória Livre não é sempre um problema por si só.
  • Valores e categorias variam por dispositivo e SO, e atualizam continuamente enquanto a ferramenta está aberta.
  • A ferramenta Memória mostra o estado de memória a nível do sistema (não por app).
  • Em alguns modelos de iPad e versões do SO, o sistema pode usar armazenamento como swap. A ferramenta Memória foca-se na RAM física e não tenta visualizar o uso de swap.