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:
#!/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
[2] Comentário enviado por removido 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.
- 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).
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 removido 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.