Skip to content

Compreendendo a memória compactada no Mac

6 de maio de 2021

Se você notou que o seu Mac parece ter um pouco mais de desempenho desde que você instalou o OS X Mavericks, pode ser por causa dos avanços no gerenciamento de memória e do retorno da compactação de memória. As informações neste artigo se aplicam a Macs que executam macOS Catalina (10.15) por meio de OS X Mavericks (10.9).

Mudanças em como o Mac gerencia a memória

Com o lançamento do OS X Mavericks, a Apple mudou a forma como o Mac gerenciava a memória. Com a adição da compactação de memória, seu Mac agora pode fazer mais com menos memória enquanto mantém ou aumenta o desempenho. Em versões mais antigas do OS X, o uso de memória foi construído em torno de um sistema de gerenciamento de memória padrão. Os aplicativos solicitaram uma alocação de RAM, o sistema atendeu à solicitação e os aplicativos devolveram a RAM quando não precisaram mais dela. O sistema operacional cuidava da maior parte do trabalho de manter o controle de quanta memória RAM estava disponível e quem a estava usando. O sistema operacional também descobriu o que fazer se a quantidade de RAM necessária não estivesse disponível, o que poderia levar a efeitos adversos no desempenho do Mac, pois o sistema tentava usar a RAM virtual trocando espaço em um SSD ou disco rígido.

O que é memória compactada?

A memória compactada não é algo novo ou exclusivo da Apple. Os sistemas de computação vêm usando várias formas de compactação de memória há muito tempo. Se você usava Macs em meados dos anos 80 e início dos anos 90, deve se lembrar de produtos como o RAM Doubler da Connectix, que compactava os dados armazenados na RAM, aumentando efetivamente a quantidade de RAM livre disponível para o Mac. Os utilitários de memória compactada caíram em desuso à medida que os fabricantes de computadores e desenvolvedores de sistemas operacionais criaram sistemas de gerenciamento de memória melhores. Ao mesmo tempo, os preços da memória diminuíram. O outro fator que fez os sistemas de compressão de memória perderem sua popularidade foi o problema de desempenho. Algoritmos de compressão de memória consumiam uma boa parte do poder de processamento. Embora eles permitam que você faça mais com menos RAM física, eles tendem a paralisar o computador quando precisam compactar ou descompactar a memória. A compressão de memória está voltando, principalmente por causa do advento de processadores de múltiplos núcleos baratos. Quando as rotinas usadas para compactação de memória podem ser descarregadas para um dos vários núcleos de processador, é improvável que você note qualquer impacto no desempenho quando a memória precisar ser compactada ou descompactada. Torna-se apenas uma tarefa em segundo plano.

Como funciona a memória compactada em um Mac

A compactação de memória no Mac aumenta o sistema operacional e o desempenho do aplicativo, permitindo um melhor gerenciamento dos recursos de RAM. Também evita ou reduz significativamente o uso de memória virtual, que é a paginação de dados de e para o drive do Mac. Com o OS X Mavericks e posterior, o sistema operacional procura por memória inativa, que é a memória que não está em uso atualmente, mas ainda contém dados que podem ser usados ​​por um aplicativo. Essa memória inativa compacta os dados que está mantendo, de modo que os dados ocupem menos memória. A memória inativa pode ser um aplicativo que está em segundo plano e não está sendo usado. Um exemplo é um processador de texto que está aberto, mas inativo porque você está fazendo uma pausa e lendo sobre memória compactada. Enquanto você está ocupado navegando na web, o sistema operacional está comprimindo a memória do processador de texto, liberando RAM para uso por outros aplicativos.

Quando ocorre a compactação da memória?

O processo de compressão não está ativo o tempo todo. Em vez disso, o sistema operacional verifica quanto espaço livre está disponível na RAM. Se houver uma quantidade significativa de memória livre, nenhuma compactação ocorrerá, mesmo se houver muita memória inativa. Conforme a memória livre é usada, o sistema operacional começa a procurar por memória inativa para compactar. A compactação começa com os dados mais antigos usados ​​armazenados na memória e avança para garantir que haja memória livre adequada disponível. Quando os dados em uma área compactada da RAM são necessários, o sistema operacional descompacta os dados instantaneamente e os disponibiliza para o aplicativo que os solicita. Como as rotinas de compactação e descompressão são executadas simultaneamente em um dos núcleos do processador, é improvável que você experimente qualquer perda de desempenho durante a compactação ou descompactação.

Limites de compactação de memória em Macs

Existem limites para o que a compressão pode alcançar. Em algum ponto, se você continuar a iniciar aplicativos ou usar aplicativos que consomem muita memória e engolem RAM, o Mac não terá espaço livre suficiente para funcionar de maneira ideal. Assim como no passado, o sistema operacional começa a trocar dados de RAM inativos para a unidade do seu Mac. No entanto, com a compactação de memória, é provável que isso seja uma ocorrência rara para a maioria dos usuários. Mesmo que o sistema operacional acabe trocando a memória da unidade, o sistema de gerenciamento de memória do OS X aproveita a memória inativa compactada, gravando os dados compactados em segmentos de unidade de comprimento total para aumentar o desempenho e reduzir o desgaste dos SSDs.

Monitor de atividade e compressão de memória

A Apple forneceu uma ferramenta bacana, o Activity Monitor, que pode monitorar como o Mac usa a RAM. Embora o Activity Monitor ainda esteja disponível, seus recursos de monitoramento de memória passaram por uma mudança dramática que imita a maneira como um Mac é mais capaz de usar a RAM por meio do uso de memória compactada. Você pode monitorar a quantidade de memória que o Mac está compactando usando a guia Memória no Monitor de Atividade. A memória compactada é exibida no gráfico de pressão da memória, que indica o quão ativamente o sistema operacional está envolvido na compactação dos dados de RAM. O gráfico muda de verde (pouca pressão) para amarelo (pressão significativa) e, finalmente, para vermelho, quando não há espaço RAM suficiente e a memória precisa ser trocada para a unidade.