Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
Linux: Debian Etch + XGL
Por siarom
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha



Artigo

ZRAM (Compressed RAM) no Debian
Linux user
edps
23/02/2012
Veremos aqui, como adicionar o suporte ao ZRAM no Debian. O ZRAM tem a seguinte denominação: Virtual Swap Compressed in
RAM.
Por: Edinaldo P. Silva | Blog: http://gnu2all.blogspot.com/
[ Hits: 2852 ]
Conceito: 10.0   4 voto(s)4 voto(s)4 voto(s)4 voto(s)4 voto(s) + quero dar nota ao artigo

Introdução

De imediato, é necessário dizer que não consegui fazer o ZRAM funcionar com o kernel padrão do Debian, então, para o caso deste, uma recompilação do kernel talvez seja necessária. E aqui, esta não será abordada.

O kernel utilizado será o Liquorix.

Para maiores detalhes, vejam os 2 artigos que fiz sobre kernel atualizado no Debian:

Ajustando o Sistema

Comecemos com:

$ sudo touch /etc/init.d/zram
$ sudo nano /etc/init.d/zram


Adicionem o seguinte conteúdo:

#!/bin/bash ### BEGIN INIT INFO # Provides: zram # Required-Start: # Required-Stop: # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Increased Performance In Linux With zRam (Virtual Swap Compressed in RAM) # Description: Adapted from systemd scripts at https://github.com/mystilleef/FedoraZram ### END INIT INFO start() { # get the number of CPUs num_cpus=$(grep -c processor /proc/cpuinfo) # if something goes wrong, assume we have 1 [ "$num_cpus" != 0 ] || num_cpus=1 # set decremented number of CPUs decr_num_cpus=$((num_cpus - 1)) # get the amount of memory in the machine mem_total_kb=$(grep MemTotal /proc/meminfo | grep -E --only-matching '[[:digit:]]+') mem_total=$((mem_total_kb * 1024)) # load dependency modules modprobe zram num_devices=$num_cpus # initialize the devices for i in $(seq 0 $decr_num_cpus); do echo $((mem_total / num_cpus)) > /sys/block/zram$i/disksize done # Creating swap filesystems for i in $(seq 0 $decr_num_cpus); do mkswap /dev/zram$i done # Switch the swaps on for i in $(seq 0 $decr_num_cpus); do swapon -p 100 /dev/zram$i done } stop() { # get the number of CPUs num_cpus=$(grep -c processor /proc/cpuinfo) # set decremented number of CPUs decr_num_cpus=$((num_cpus - 1)) # Switching off swap for i in $(seq 0 $decr_num_cpus); do if [ "$(grep /dev/zram$i /proc/swaps)" != "" ]; then swapoff /dev/zram$i sleep 1 fi done sleep 1 rmmod zram } case "$1" in start) start ;; stop) stop ;; restart) stop sleep 3 start ;; *) echo "Usage: $0 {start|stop|restart}" RETVAL=1 esac exit $RETVAL

Após, salvar com Ctrl+O e Ctrl+X, executar:

$ sudo chmod +x /etc/init.d/zram
$ sudo update-rc.d zram defaults
$ sudo modprobe zram


* Provavelmente dará erro, como qualquer outro kernel!
Próxima página >>




Páginas do artigo
   1. Introdução
   2. Configurações
   3. Em outras distribuições

Outros artigos deste autor

Leitura recomendada

Comentários
[1] Comentário enviado por removido em 23/02/2012 - 11:39h:

o que é isso, o que é isso? É assim agora, que nem galinha botando ovo, um atrás do outro???

rs rs rs rs rs

============================

edps_zinho, agora é sério:

a) o zram funciona com 4GB de memória?
b) vc disse n conseguiu usar o kernel do debian. N será pq deixou de subir algum módulo?


[2] Comentário enviado por edps em 23/02/2012 - 17:39h:

@acvsilva,

sim, o ZRAM funciona com 4Gbs de RAM, se não me engano o Bodhi Linux utiliza o ZRAM e na época que fiz o artigo sobre ele eu usava um QuadCore.

acabei de testar os passos no SalineOS que é um Debian Squeeze quase pronto e que só usa pacotes do próprio Squeeze, mas testei com o kernel do Debian Backports ( 3.2.0-0.bpo.1-686-pae ) e funcionou!

* então, talvez na época não funcionou no meu Squeeze porque de Squeeze ele só tinha o nome! rsrsrs GCC e diversos pacotes do Debian Testing, kernel Liquorix, etc.

as imagens do processo:

http://imageshack.us/photo/my-images/196/zramsalineos1.png/
http://imageshack.us/photo/my-images/46/zramsalineos2.png/

os comandos utilizados:

$ lsb_release -a
$ cat /etc/debian_version
$ cat /etc/issue
$ uname -a

carregando o módulo....
$ sudo modprobe zram

cópia do script da minha instalação do Squeeze...
$ sudo cp -av /mnt/debian_rootfs/etc/init.d/zram /etc/init.d/
$ sudo chmod +x /etc/init.d/zram

adicionando-o como serviço...
$ sudo update-rc.d zram defaults

adicionando o módulo em /etc/modules..
$ sudo nano /etc/modules

antes do início do serviço (768MB de SWAP)
$ free -m

início do serviço...
$ sudo service zram start

2GBs de ZRAM + 768MB de SWAP...
$ free -m
$ ls -al /dev/disk/by-uuid/


Só falta reiniciar com o kernel 2.6.32-5 original do Squeeze para ver se também funciona!

* deixa de gracinha se não te dou umas porradas! rsrsrs

[3] Comentário enviado por edps em 23/02/2012 - 20:18h:

Os testes com o kernel do Debian Squeeze:

http://imageshack.us/photo/my-images/441/zramsalineos3.png/

ou seja não rola!

* quem sabe instalando o kernel -pae? esse do kernel 3.2.0 do Backports é -pae, assim como o do Debian Testing.

#

Após um reboot, novamente o kernel do Debian Backports em teste e o serviço 'zram' iniciou normalmente:

http://imageshack.us/photo/my-images/718/zramsalineos4.png/

Vou acrescentar essas imagens ao artigo do meu blog, já que solicitar acrescimo de conteúdo a algo já publicado dará trabalho para os moderadores.

[4] Comentário enviado por edps em 23/02/2012 - 20:27h:

Pesquisando aqui pelo módulo zram, pude ver que o mesmo está presente nas seguintes distros e kernel que tenho instalado:


SalineOS = Debian Squeeze+XFCE (esta que estou usando).

- com o kernel do Debian Backports (3.2.0-0.bpo.1-686-pae).

/lib/modules/3.2.0-0.bpo.1-686-pae/kernel/drivers/staging/zram
/lib/modules/3.2.0-0.bpo.1-686-pae/kernel/drivers/staging/zram/zram.ko


Arch Linux.

- com kernel 3.2.4.1; e
- com kernel 3.2.5-1-ck.

/mnt/arch_rootfs/lib/modules/3.2.4-1-ARCH/kernel/drivers/staging/zram
/mnt/arch_rootfs/lib/modules/3.2.4-1-ARCH/kernel/drivers/staging/zram/zram.ko.gz
/mnt/arch_rootfs/lib/modules/3.2.5-1-ck/kernel/drivers/staging/zram
/mnt/arch_rootfs/lib/modules/3.2.5-1-ck/kernel/drivers/staging/zram/zram.ko.gz


Debian Squeeze.

- com o kernel do Debian Testing (3.1.0-1-686-pae);
- com o kernel Liquorix 3.2.0-2 e 3.2.0-6; e
- com o kernel do Debian Backports (3.2.0-0.bpo.1-686-pae).

/mnt/debian_rootfs/lib/modules/3.1.0-1-686-pae/kernel/drivers/staging/zram
/mnt/debian_rootfs/lib/modules/3.1.0-1-686-pae/kernel/drivers/staging/zram/zram.ko
/mnt/debian_rootfs/lib/modules/3.2.0-0.bpo.1-686-pae/kernel/drivers/staging/zram
/mnt/debian_rootfs/lib/modules/3.2.0-0.bpo.1-686-pae/kernel/drivers/staging/zram/zram.ko
/mnt/debian_rootfs/lib/modules/3.2.0-2.dmz.1-liquorix-686/kernel/drivers/staging/zram
/mnt/debian_rootfs/lib/modules/3.2.0-2.dmz.1-liquorix-686/kernel/drivers/staging/zram/zram.ko
/mnt/debian_rootfs/lib/modules/3.2.0-6.dmz.1-liquorix-686/kernel/drivers/staging/zram
/mnt/debian_rootfs/lib/modules/3.2.0-6.dmz.1-liquorix-686/kernel/drivers/staging/zram/zram.ko


Sabayon.

- com kernel 3.2.0.

/mnt/sabayon_rootfs/lib/modules/3.2.0-sabayon/kernel/drivers/staging/zram
/mnt/sabayon_rootfs/lib/modules/3.2.0-sabayon/kernel/drivers/staging/zram/zram.ko

[5] Comentário enviado por levi linux em 24/02/2012 - 07:12h:

Muito bom e didático, 10!

[6] Comentário enviado por edps em 24/02/2012 - 18:14h:

Thanks Levi.

intÉ!

[7] Comentário enviado por chimico em 25/02/2012 - 20:19h:

Ae brother, quando você comentou sobre o Zram nos comentários do seu artigo :

http://www.vivaolinux.com.br/artigo/Debian-SID-OpenBox-LightDM-e-XFS

eu resolvi testar também. Realmente faz diferença, mas no meu velho de guerra este pesou com o tempo e deu umas congeladas. Creio que minha CPU é muito fraca e o XFS, apesar de rápido, também exige um bocado do coitado, logo desabilitei o Zram. Uma curiosidade é que para isso fui instalar o kernel liquorix, donde saiu minha última dica (http://www.vivaolinux.com.br/dica/Kernel-Liquorix-nao-da-o-Boot-%5BResolvido%5D/). Estou usando JFS agora, com journal externo, exatamente como está no ArchWiki. Algumas pessoas tem crise de distro, eu tenho de sistema de arquivos. Em uma única instalação chego a trocar o filesystem várias vezes.

[8] Comentário enviado por edps em 25/02/2012 - 21:11h:

@chimico,

obrigado pelo comentário,

"
Algumas pessoas tem crise de distro, eu tenho de sistema de arquivos. Em uma única instalação chego a trocar o filesystem várias vezes.
"

eu tenho crise de init! o do meu Arch está bem diferente de uma instalação padrão, no Debian vinha usando aquela opção de fast-boot que desabilita a checagem do FSCK mas ontem perdi um tempinho corrigindo os erros numa partição de 120GBs. rsrsrs

* mas aí é que tá a maravilha da coisa, nós sempre podemos modificar nosso sistema de forma a tirar o máximo dele.

um abraço.


Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.