Autoria: Alberto Federman Neto.
Recentemente, publiquei um Artigo aqui, sôbre instalação de ZRAM no Sabayon Linux.
Agora publico meus resultados iniciais com testes do uso da ZRAM instalada.
O Micro usado foi um AMD Phenon FX 8120 com 8 núcleos, preparado para trabalhar em Máxima Performance, mas não overclocado.
Depois de instalar e ativar a ZRAM, configurei os diretórios temporários para funcionarem em RAM, de acordo com o procedimento de EDPS. Veja os Comentários deste Artigo:
Systemd + ZRAM no Debian Wheezy
E testei a CPU, usando um pacote para estressar CPUs, chamado cpuburn. Instalei o pacote e executei o comando para rodar o programa:
$ sudo equo i cpuburn $ sudo burnK6
Além do poder dos 8 núcleos, funcionando ao mesmo tempo, o Gerenciamento de Memória ficou tão eficiente,
que o Micro não “usa”, não “gasta” CPU, nem com KDE completo (portanto pesado),aberto e configurado, vários aplicativos rodando, Internet, relógios, widgets de plasma etc…
Além disso, ele práticamente não esquenta, subiu apenas em 9 graus a temperatura, comparada à do Sistema sem rodar cpuburn (atingiu apenas 59 C°).
Observe na Figura abaixo, os Terminais (CPUBurn e Sensors) e o Monitor GKrellM:
Monitore Temperaturas, Voltagens e Rotação dos Coolers com o GKrellM
Instalação e Configuração do GKrellM
Vejam como práticamente não consome CPU, processamento, cerca de 18 %, enquanto que sem usar ZRAM, os resultados são inferiores. Consumo de CPU cerca de 34-35 %. Sobrando CPU para tudo!
Também rodei os testes simples, de Benchmark do pacote Hardinfo:
Verificação de Hardware com Hardinfo
Obtendo Especificações do Computador
A Placa de Vídeo é uma ATI pequena, porisso, a Performance Gráfica não supera um Intel Core I7.:
Mas a Perfomance de Cálculo, até supera um pouco (404 Mib/segundo) quando comparada à do Core I7 (390 Mib/segundo). Note que pontuação maior é melhor.
Sigo fazendo testes e usando ZRAM em Sabayon. Até a próxima.
Muito interessante Alberto, pena que eu não tenha uma máquina decente para testes como esse.
Um abraço!
CurtirCurtir
No caso desse Phenon (16 Giga de RAM), não é meu, é da USP, mas sou eu que uso. Na minha casa tenho ainda aquele antigo AMD Athlon X2, duplo núcleo, 8 Giga de RAM. Tem quase sete anos, mas ainda é um bom micro e bem utilizável. Gosto muito de AMD. Eu tive um velho K6 II 500, funcionaou seis anos sem quebrar, até ser aposentado. Práticamenete indestrutível.
CurtirCurtir
Esses resultados,mesmo iniciais, são interessantes, considerando que o Micro está aberto em Sabayon (que não é Distro leve, embora seja rápida), em KDE com um monte de aplicações e processos rodando. É como se o micro falasse: “manda mais cálculos, manda mais processamento, estou folgado, quero trabalhar!” rsrsrsrsr! Um abraço a vc e aos seus, e se não te vejo, Bom Fim de Semana!
CurtirCurtir
Estava dando uma checada lá em cima, e reparei uma coisa, para que o burn funcione em todos os núcleos, é necessário abrir uma instância para cada núcleo físico por exemplo em meu pc (core2duo) seria burnP6 & para cada núcleo já para meu note (core i5) seria necessário repetir esse comando 4 vezes.
CurtirCurtir
O ZRAM para máquinas de dispõe de um processado multicore mas não tenha muita memória RAM é interessante. Mas em uma máquina como a de testes (com grande disponibilidade de RAM) não vejo muita utilidade. Salvo melhor juízo, para obter algum benefício nesse cenário seria preciso rodar uma aplicação que tentasse utilizar toda a memória RAM. Pois, em princípio o intuito da ZRAM é evitar que seja realizado cache de páginas no disco físico. Venho fazendo uso do ZRAM em duas máquinas:
1) AMD Turion MK-28, monocore, 2.2ghz, com 2,2gb de RAM
2) Intel Core I3, dual core, 2.1ghz, 4gb de RAM
Na máquina mais nova onde há dois núcleos o uso da RAM é praticamente imperceptível, pois quando começa a esgotar a memória que o ZRAM entra em ação comprimindo as páginas o outro núcleo está “livre” para processar as aplicações.
O resultado já não é o mesmo na máquina mais antiga. Dispondo de um único núcleo quando a RAM começa a se esgotar e o ZRAM entra em ação, o desempenho da máquina durante a compressão dos dados, fica sensivelmente reduzido. Por óbvio que após a compressão e alocação na RAM tudo se normaliza e o acesso aos dados ainda é mais rápido pois não está alocado em disco físico.
Foi pensando justamente nesse micro antigo que tenho pesquisado o uso do ZRAM, mas com compressor diferente do default (que se não me engano usa o LZO), venho procurado formas de trocar pelo LZ4. Isto, porque, o LZ4 é muito mais “leve” e rápido para comprimir os dados (evidente que a taxa de compressão não é a mesma), mas para máquina com pouco poder de processamento o “custo benefício” parece valer a pena. Em sentido oposto, talvez para uma máquina que tenha MUITO poder de processamento poderia ser interessante o uso de método de compressão mais efetivo (lzma, lrzip).
CurtirCurtir
Hilton, embora seja apenas um curioso, creio que uma alternativa seria a seguinte:
(Não testei)
1 Desative o zram (não sei que distro usa)
2 O kernel fornece suporte direto ao zswap que é similar, bastaria passar as opçoẽs na linha do kernel do seu bootloader
zswap.enabled=1 zswap.compressor=LZ4
Como disse não testei. Espero que funcione. LOL
CurtirCurtir
Pois é com o zswap eu já havia utilizado o LZ4.
Contudo o zswap se mostrou mais lento que o zram. Porque embora ele compacte os dados com o LZ4 que é muito rápido ele armazena os blocos no disco físico o que torna o acesso lento. Já o zram deixa os dados compactados na própria RAM. Inclusive dá pra utilizar os dois zram + zswap em conjunto. Eu vi alguns artigos sobre o uso do LZ4 no zram mas como não entendi muito (quase todos envolviam patch e compilações) daí sai da minha esfera de conhecimento. Mas daqui a pouco alguém descobre uma solução =]
CurtirCurtir
Humm interessante, vou verificar os dois em conjunto já que como uso hibernação (quase sempre) preciso de swap física.
CurtirCurtir
Veja está ativado, mas agora vou ter que esperar uma compilação braba, (firefox-kde-opensuse por exemplo), para ver se funciona a contento. Tive que adicionar o lz4 na sessão de módulos do mkinitcpio.conf e gerar novamente a imagem.
[roger@slayerarch ~]$ dmesg | grep zswap
[ 0.000000] Command line: BOOT_IMAGE=../vmlinuz-linux root=/dev/md0 rw initrd=../initramfs-linux.img vga=795 zswap.enabled=1 zswap.compressor=lz4
[ 0.000000] Kernel command line: BOOT_IMAGE=../vmlinuz-linux root=/dev/md0 rw initrd=../initramfs-linux.img vga=795 zswap.enabled=1 zswap.compressor=lz4
[ 0.479646] zswap: loading zswap
[ 0.480843] zswap: using lz4 compressor
CurtirCurtir