Zram, Zcache și Zswap: Care este cel mai bun pentru tine?

Zram, Zcache e Zswap: qual é o melhor para você?

⌛ Reading Time: 4 minutes

Se estiver usando Linux, você pode multiplicar a RAM disponível sem ter que comprar novos módulos de memória. Zram, zswap e zcache permitem compactar o conteúdo do PC RAM, praticamente expandindo-o. Mas qual você deve usar? Qual é o melhor? Leia mais para descobrir.

Os benefícios da compactação de RAM

Se você assistiu a uma apresentação sobre os consoles de última geração da Sony e da Microsoft, deve ter notado que as duas empresas fizeram um grande alarido sobre a velocidade de armazenamento. Há uma razão para tudo isso: o armazenamento é o gargalo de maior impacto, mesmo nos PCs mais modernos.

O objetivo final das soluções que vemos aqui é minimizar a quantidade de dados trocados entre a RAM do nosso computador e seus sistemas de armazenamento mais lentos. É importante ter isso em mente porque, como veremos, é seu fator de diferenciação.

ZRam

Zram é a solução de compressão de RAM mais direta do Linux atualmente. Anteriormente conhecido como compcache, ele aproveita as vantagens do suporte do Linux para vários dispositivos de troca criando um extra (ou mais) na RAM do computador.

Zram funciona criando uma hierarquia de três espaços de armazenamento. Ele cria um novo volume de swap compactado na RAM, que é – hierarquicamente – colocado entre a RAM e os dispositivos de armazenamento. Então, quando a RAM está cheia de dados, ela move o excesso para o swap compactado. Quando isso também é preenchido, o zram começa a mover os dados para a partição de troca na unidade de armazenamento.

Este novo dispositivo de troca recebe uma prioridade mais alta do que aqueles que residem no armazenamento real mais lento do PC, para serem usados ​​antes deles. Ele também se baseia em um dos vários algoritmos de compactação, como LZ4 ou LZO, para empilhar o máximo de dados possível neste dispositivo de troca.

Zram Zcache Zswap Lz4

Os processadores modernos chegaram a um ponto em que podem compactar e descompactar os dados armazenados na RAM mais rápido do que poderiam ser gravados ou lidos em um SSD ou HDD, com um impacto insignificante no desempenho do computador.

É importante notar que o zram funciona por conta própria, sem a necessidade de outros dispositivos de troca. Assim, você pode, por exemplo, usá-lo em sistemas embarcados ou live CDs, uma vez que não precisa ser respaldado por armazenamento real.

ZSwap

Zswap é mais complicado do que zram. Ele melhora a relação entre a RAM do nosso computador e seus dispositivos de armazenamento mais lentos, adicionando compressão inteligente onde eles se cruzam.

Zram Zcache Zswap Zswap

Com o zswap, a RAM compactada e os volumes de troca que já existem nos dispositivos de armazenamento de um computador são tratados como nós em um sistema de armazenamento inteligente. O Zswap também ocupa uma parte da RAM do computador, mas não move às cegas tudo o que não cabe no restante da RAM e tenta compactá-la. Em vez disso, ele primeiro compacta tudo o que não cabe na RAM real. Se os dados estiverem compactados, o zswap os armazena na RAM. Se não for, ele o armazena na troca existente.

Desta forma, o zswap aproveita melhor a RAM disponível e o espaço de swap, uma vez que não vai, por exemplo, monopolizar a RAM que usa com dados incompressíveis.

Uma vez que depende do swap existente, o zswap é melhor para instalações Linux em todos os PCs, especialmente aqueles com menos de 4 GB de RAM.

Zcache

O Zcache trabalha em conjunto com o sistema tmem (“Memória Transcendente”) para oferecer ao kernel Linux uma forma mais versátil de armazenar dados que não estão em uso atualmente.

O Zcache adiciona uma camada extra transparente de gerenciamento de memória no kernel que compacta todos os dados que não estão em uso. Ao contrário de ter que gerenciar cada byte de dados, com zcache, o kernel Linux pode armazenar páginas inteiras de dados em “pools” por meio da interface do tmem. O back-end zcache então compacta esses grupos de dados.

Como o zswap, o zcache mantém apenas os dados compactados na RAM e envia as páginas não compactadas para a troca real, fazendo o melhor uso de ambos.

Qual é o melhor?

Em teoria, zcache oferece a melhor das soluções. No entanto, isso não significa que seja o caminho a seguir, pois a praticidade também é importante. Apesar de seus recursos avançados, o zcache é amplamente incompatível. Seu desenvolvimento estagnou e foi removido do kernel do Linux na versão 3.11. Para usá-lo hoje, você terá que pular obstáculos, e o resultado provavelmente não seria muito melhor do que se você usasse zswap.

Por outro lado, o zram é mais restrito porque não é muito mais do que um volume virtual armazenado na RAM e usado como espaço de troca. Ele pode ajudar com sistemas precisos de RAM, mas funciona basicamente pegando coisas às cegas do ponto A e movendo-as para o ponto B e depois para o ponto C, sem se importar com o que realmente são.

Isso torna o zswap a melhor escolha para a maioria dos usuários do Linux, independentemente da distribuição. Para ver como você pode tirar proveito disso, confira nosso guia no zswap.

Relacionado: