Outra questão sobre como usar o ZRAM para swap

0

Estou executando o 16.04 em um laptop com um SSD de 1 GB com 20 GB de RAM. O sistema de arquivos é btrfs e eu não criei swap. Não me causou nenhum problema por mais de um ano. No entanto, eu gostaria de experimentar usar o ZRAM para swap e ler o seguinte: link

"Para instalar o zram, simplesmente execute: apt install zram-config. Após a próxima reinicialização, haverá automaticamente um dispositivo zram que o sistema usa para trocar. Não importa quanta RAM um sistema possui, porque em algum momento o kernel De qualquer maneira, trocaremos algo da nossa memória ativa para trocar para usar a memória ativa com mais eficiência. "

Então eu fiz isso e quando eu faço cat / proc / swaps depois de um reboot eu recebo:

  Filename                                Type            Size    Used    Priority
/dev/zram0                              partition       2553148 0       5
/dev/zram1                              partition       2553148 0       5
/dev/zram2                              partition       2553148 0       5
/dev/zram3                              partition       2553148 0       5

Então, agora pareço ter swap no ZRAM. O que eu me pergunto é se isso é tudo que eu preciso fazer. Eu não preciso criar e ativar um swapfile no ZRAM? Estou perguntando desde que eu li aqui no Ask Ubuntu: ZRAM vs. partição swap normal

citação: "Você pode formatá-lo para swap com mkswap / dev / zram0 e habilitar a troca com swapon / dev / zram0."

É um pouco confuso, pois de acordo com o primeiro site que eu referenciei tudo que eu preciso é ativar o ZRAM e o sistema irá usá-lo enquanto no AskUbuntu parece que eu terei que criar e ativar o swap no ZRAM.

Alguém poderia esclarecer isso?

    
por Christian 05.03.2017 / 01:30

2 respostas

1

Tudo o que você precisa fazer é instalar o pacote zram-config , que, como o nome indica, configura o zram para você. cat /proc/swaps está correto: o zram já está ativo como swap.

A outra pergunta é sobre o zram, não o pacote zram-config .

    
por Chai T. Rex 05.03.2017 / 03:52
1

O ZRAM é simplesmente um driver compactado de ramdisk. Ao ativá-lo, você obtém dispositivos de bloco, /dev/zram[0-9]+ , e todos os dados armazenados nesses dispositivos de bloco serão compactados e armazenados na memória.

Como é apenas um dispositivo de bloco, você pode usá-lo para armazenar qualquer coisa, como um sistema de arquivos ou espaço de troca - não é particularmente útil armazenar partições, pois, quando particionado, ele não mostrará novos dispositivos para cada partição o seu /dev/hd[a-z] ou /dev/sd[a-z] etc será.

Portanto, para usá-lo para troca, você deve primeiro formatá-lo com mkswap e, em seguida, fazer com que o Linux troque com swapon . zram-config é apenas o pacote oficial do Ubuntu que faz isso automaticamente para você na inicialização (já que é um ramdisk, todos os dados armazenados nele desaparecem quando você reinicia). Existem outros scripts que farão o mesmo. Eu particularmente gosto de systemd-swap , ⁽¹⁾ que eu uso tanto na minha caixa ArchLinux quanto no meu Raspberry Pi (que roda uma distro Debian), e que lida com troca automática em swaps baseados em disco, ZRAM e Zswap. Tenho certeza de que também funciona com o Ubuntu.

Como curiosidade, é assim que o zram se comporta em relação ao uso da memória: enquanto a quantidade máxima de dados que você pode armazenar neste dispositivo é fixa, a quantidade de memória usada varia de acordo com a compactabilidade dos dados. Por exemplo:

% sudo swapoff /dev/zram0
% sudo dd if=/dev/zero of=/dev/zram0 bs=1M
dd: writing to '/dev/zram0': No space left on device
243+0 records in
242+0 records out
254492672 bytes (254 MB, 243 MiB) copied, 6.10473 s, 41.7 MB/s
% free -h
              total        used        free      shared  buff/cache   available
Mem:           970M         47M        793M         25M        128M        848M
Swap:            0B          0B          0B
% sudo dd if=/dev/urandom of=/dev/zram0 bs=1M
dd: error writing '/dev/zram0': No space left on device
243+0 records in
242+0 records out
254492672 bytes (254 MB, 243 MiB) copied, 13.2982 s, 19.1 MB/s
% free -h
              total        used        free      shared  buff/cache   available
Mem:           970M        292M        549M         25M        128M        603M
Swap:            0B          0B          0B

Assim, enquanto meu dispositivo zram tem 254 MB de espaço, quando preenchido com zeros, ele quase não usa memória, enquanto que, quando preenchido com dados aleatórios altamente incompressíveis, ele usa 254M de memória.

⁽¹⁾ link

    
por André von Kugland 27.09.2018 / 05:01