Zswap, Zram, cenários de uso de desktop do Zcache

11

Estou tentando entender a diferença em casos de uso para Zswap, Zram e Zcache. Desculpas antecipadas para a longa / ligeiramente desleixada questão formulada. Eu fiz um monte de googling, e eu entendo que o zram é basicamente um dispositivo de bloco para swap compactado, enquanto o zswap é compactado no kernel usando a API frontswap. Parece que uma vantagem do zswap é que ele pode mover algumas páginas para uma troca de apoio quando sob pressão em uma maneira LRU, enquanto o zram não pode fazer isso (confirme, não tenho certeza se isso é verdade).

Então aqui está a minha pergunta: 1.) Como usuário de desktop, qual é a diferença de desempenho entre zcache / zswap / zram, especialmente zswap e zram? Por exemplo, um é muito melhor / pior na fragmentação da memória (o tipo que leva ao uso excessivo de memória e desperdício)?

Pergunta bônus: 2.) Existe uma combinação ideal provável dos itens acima (por exemplo, zram + zswap ou zram + zcache) para desempenho de desktop (incluindo a capacidade de resposta do desktop, além do comportamento de troca minimamente perturbador e gerenciamento de memória sã)?

* Citação de fontes é muito apreciada.

Devo acrescentar que sou um usuário Linux com experiência decente (5 anos) e tentei realmente entender como meu sistema, incluindo o kernel, funciona. No entanto, eu não sou um programador, e só tenho conhecimentos de programação muito básicos (curso universitário de 3 créditos). Mas seja técnico se você precisar; Eu vou analisar o seu significado no meu próprio tempo.

Especificações do sistema:

Linux Mint 15
Processor:Core 2 Quad 6600 (2.4ghz)
Ram: 8G
linux kernel: liquorix 3.11 series
Storage: 128 GB SSD, 1TB HDD 5400rpm

Nenhum comentário "compre mais ram", por favor! Eu maxed o ram nesta placa-mãe e tenho um orçamento de atualização de US $ 0 para o futuro previsível. No entanto, gosto de manter programas com uso intensivo de memória aberta (vários navegadores são os principais consumidores do meu RAM), por isso não me importo em trocar dentro de limites razoáveis de degradação de desempenho.

    
por Warren 09.11.2013 / 17:19

1 resposta

6

A melhor maneira que eu posso tentar responder a essas perguntas é dizer quais são realmente aquelas três.

zRAM

O zRAM nada mais é do que um dispositivo de troca em essência. O gerenciamento de memória enviará as páginas para o dispositivo de troca e o zRAM compactará esses dados, alocando memória conforme necessário.

Zswap

Zswap é um espaço de troca compactado que é alocado internamente pelo kernel e não aparece como um dispositivo de troca. Ele é usado pelo frontswap da mesma forma que um dispositivo de troca pode ser usado, mas de uma maneira mais eficiente.

Zcache

O Zcache é o frontend para o frontswap e cleancache.

O Zcache substitui o zRAM, então você não quer que os dois briguem por recursos, embora haja alguma conversa sobre como os dois podem trabalhar juntos, dadas as circunstâncias certas. Por enquanto, eu não me incomodaria em tentar deixar para os especialistas descobrir isso.

Algumas leituras:
Cleancache vs zram?
link
link
link

Pessoalmente, acabei de desabilitar o zRAM e habilitei o Zcache em todos os meus sistemas que possuem um kernel novo o suficiente (o zRAM ainda está habilitado nos dispositivos Android).

Quanto ao desempenho: isso é algo que você teria que olhar para si mesmo. Todo mundo é diferente. Em teoria, porém, o Zcache deve ter muito mais memória eficiente que o zRAM e funciona em dois níveis (frontswap e cleancache), e pode enviar páginas para um dispositivo de troca conforme necessário (no disco rígido, por exemplo). Você também pode escolher qual algoritmo de compressão usar, caso esteja usando muita CPU (o que eu não consigo imaginar).

Atualização : O Zcache foi removido do kernel 3.11 (por enquanto), então o zRAM tornou-se novamente a única opção nos novos kernels. link link

    
por 26.11.2013 / 21:41