{"id":4088,"date":"2015-06-22T14:44:50","date_gmt":"2015-06-22T17:44:50","guid":{"rendered":"https:\/\/www.viazap.com.br\/?p=4088"},"modified":"2015-06-21T00:47:11","modified_gmt":"2015-06-21T03:47:11","slug":"usando-swap-na-ram-em-sabayon-zram-metodo-novo","status":"publish","type":"post","link":"https:\/\/blog.clusterweb.com.br\/?p=4088","title":{"rendered":"USANDO SWAP NA RAM EM SABAYON &#8211; ZRAM &#8211; M\u00c9TODO NOVO"},"content":{"rendered":"<h1>INTRODU\u00c7\u00c3O<\/h1>\n<p>&nbsp;<\/p>\n<div>\n<h1>A. INFORMA\u00c7\u00d5ES IMPORTANTES E REFER\u00caNCIAS<\/h1>\n<p>Primeiramente, informo que o presente artigo torna obsoletos os procedimentos descritos nas dicas e artigos anteriores:<\/p>\n<p>REF. 1 &#8211; <a href=\"https:\/\/edpsblog.wordpress.com\/2014\/05\/09\/usando-zram-em-sabayon\/\" target=\"_blank\" rel=\"nofollow\">Usando ZRAM em Sabayon. Nova atualiza\u00e7\u00e3o<\/a><\/p>\n<p>REF. 2 &#8211; <a href=\"http:\/\/www.vivaolinux.com.br\/artigo\/Experimento-SWAP-diretamente-na-memoria-RAM-Testes-para-RAM-e-SWAP\/\">Experimento: Swap diretamente na mem\u00f3ria RAM &#8211; Testes para RAM e Swap<\/a><\/p>\n<p>Lembro por\u00e9m que apenas os m\u00e9todos (descritos nos artigos anteriores) para implementar ZRAM em sistemas com Systemd, \u00e9 obsoleto. ZRAM n\u00e3o o \u00e9, de modo algum e o conte\u00fado dos artigos ainda \u00e9 \u00fatil, por isso, sugiro que voc\u00ea os leia ou consulte.<\/p>\n<p>Mais uma informa\u00e7\u00e3o. Se o pacote zram-utils estiver dispon\u00edvel nos reposit\u00f3rios da sua distro, o m\u00e9todo dever\u00e1 poder ser usado tamb\u00e9m em outras distribui\u00e7\u00f5es <a href=\"http:\/\/www.vivaolinux.com.br\/linux\/\">Linux<\/a>, que n\u00e3o o Sabayon ou o Gentoo.<\/p>\n<p>Reporto tamb\u00e9m que somente kerneis novos tem suporte (m\u00f3dulo) para usar ZRAM. Nos kerneis antigos, era necess\u00e1rio habilitar o m\u00f3dulo, ou mesmo recompilar o kernel:<\/p>\n<p>REF. 3 &#8211; <a href=\"http:\/\/www.vivaolinux.com.br\/artigo\/ZRAM-%28Compressed-RAM%29-no-Debian\">ZRAM (Compressed RAM) no Debian<\/a><\/p>\n<p>REF. 4 &#8211; <a href=\"https:\/\/edpsblog.wordpress.com\/2014\/06\/15\/ativando-zram-no-slackware\/\" target=\"_blank\" rel=\"nofollow\">Ativando ZRAM no Slackware<\/a><\/p>\n<p>REF.5 &#8211; <a href=\"http:\/\/www.vivaolinux.com.br\/artigo\/Ativando-zRAM-no-Slackware\">Ativando ZRAM no Slackware-2<\/a><\/p>\n<p>REF. 6 &#8211; <a href=\"https:\/\/edpsblog.wordpress.com\/2013\/10\/20\/zram-no-arch-linux\/\" target=\"_blank\" rel=\"nofollow\">ZRAM no Arch Linux<\/a><\/p>\n<p>REF. 7 &#8211; <a href=\"https:\/\/edpsblog.wordpress.com\/2013\/10\/19\/systemd-zram-no-debian-wheezy\/\" target=\"_blank\" rel=\"nofollow\">Systemd + ZRAM no Debian Wheezy<\/a><br \/>\n<!--more--><\/p>\n<h1>B. ESTADO DA ARTE<\/h1>\n<p>A habilita\u00e7\u00e3o, configura\u00e7\u00e3o e uso da SWAP em mem\u00f3ria RAM, pode ser feita com o pacote <a href=\"http:\/\/unix.stackexchange.com\/questions\/17879\/cleancache-vs-zram\" target=\"_blank\" rel=\"nofollow\">cleancache<\/a>, ou, mais comumente, com <a href=\"http:\/\/lkml.iu.edu\/hypermail\/linux\/kernel\/1308.1\/03476.html\" target=\"_blank\" rel=\"nofollow\">ZRAM<\/a>.<\/p>\n<p>Tamb\u00e9m pode ser feita via hardware, com um chip chamado <a href=\"https:\/\/en.wikipedia.org\/wiki\/1T-SRAM\" target=\"_blank\" rel=\"nofollow\">SRAM<\/a>.<\/p>\n<p>O pacote e\/ou script ZRAM \u00e9 mais usado porque \u00e9 um m\u00e9todo mais f\u00e1cil. Mesmo assim, era bem mais f\u00e1cil (veja refer\u00eancias 1-3, 5 e 7) no antigo OpenRC do que no moderno Systemd.<\/p>\n<p>Particularmente \u00e9 dif\u00edcil em distros baseadas no Gentoo, como o Sabayon. Isso porque o pacote que implementava o ZRAM no Gentoo (<a href=\"https:\/\/github.com\/vaeth\/zram-init\/\" target=\"_blank\" rel=\"nofollow\">zram-init<\/a>), <a href=\"https:\/\/wiki.gentoo.org\/wiki\/Zram\" target=\"_blank\" rel=\"nofollow\">embora funcione<\/a>, s\u00f3 funciona bem em OpenRC.<\/p>\n<p>Gentoo n\u00e3o usa Systemd por padr\u00e3o, mas o Sabayon usa!<\/p>\n<p>Para Sabayon, foi necess\u00e1rio que eu adaptasse (REFs 1, 2) um pacote de ZRAM do Arch Linux (REF. 6), chamado zramswap (no Ubuntu, se chama zramswap-enabler):<\/p>\n<ul>\n<li><a href=\"http:\/\/askubuntu.com\/questions\/302447\/how-to-install-zram-on-ubuntu-13-04\" target=\"_blank\" rel=\"nofollow\">installation &#8211; How to install zram on Ubuntu 13.04? &#8211; Ask Ubuntu<\/a><\/li>\n<li><a href=\"http:\/\/linuxg.net\/how-to-install-and-enable-zram-on-arch-linux-via-the-aur-repository\/\" target=\"_blank\" rel=\"nofollow\">How To Install And Enable ZRamSwap (Via Systemd-Swap) On Arch Linux, Via The AUR Repository \u00ab LinuxG.net<\/a><\/li>\n<li>REF. 8 <a href=\"http:\/\/www.postseek.com\/meta\/04be7c0d3fbcc93028f5c096dd619765\" target=\"_blank\" rel=\"nofollow\">Advice Needed Using ZRAM Swap from the AUR and Differences Between Zramswap and Systemd-Swap<\/a><\/li>\n<\/ul>\n<p>O mesmo pode ser feito em Debian (REF. 9).<\/p>\n<p>REF. 9 <a href=\"http:\/\/pastebin.com\/hzY08dmY\" target=\"_blank\" rel=\"nofollow\">Systemd &amp; ZRAM no Debian, forma f\u00e1cil<\/a><\/p>\n<p>Tal como o demonstrou nosso grande e competente amigo e colaborador ativo, <a href=\"http:\/\/www.vivaolinux.com.br\/~edps\">edps<\/a>, aqui do VOL (veja REFs 3 e 7).<\/p>\n<p>Implementa\u00e7\u00f5es especiais de ZRAM para Systemd existem, como <a href=\"https:\/\/github.com\/Nefelim4ag\/systemd-swap\" target=\"_blank\" rel=\"nofollow\">Systemd-Swap<\/a> (veja ainda REF. 8), mas nem sempre de aplica\u00e7\u00e3o f\u00e1cil.<\/p>\n<h1>C. ZRAM-UTILS<\/h1>\n<p>Voc\u00ea quer usar ZRAM facilmente no Sabayon com Systemd e n\u00e3o quer usar os m\u00e9todos antigos?<\/p>\n<p>Como no velho programa humor\u00edstico de TV, &#8220;Organiza\u00e7\u00f5es Tabajara&#8221;&#8230; &#8220;Seus problemas acabaram!&#8221;<\/p>\n<p>O programador polon\u00eas Artur Kaleta (licho) criou um pacote chamado &#8220;zram-utils&#8221; capaz de implementar ZRAM em computadores usando Systemd:<\/p>\n<ul>\n<li><a href=\"https:\/\/bitbucket.org\/licho\" target=\"_blank\" rel=\"nofollow\">https:\/\/bitbucket.org\/licho<\/a><\/li>\n<li><a href=\"https:\/\/bitbucket.org\/licho\/zram-utils\" target=\"_blank\" rel=\"nofollow\">https:\/\/bitbucket.org\/licho\/zram-utils<\/a><\/li>\n<\/ul>\n<p>O presente artigo trata dos meus experimentos usando ZRAM em Sabayon, implementado atrav\u00e9s do zram-utils, que existe para Gentoo:<\/p>\n<ul>\n<li><a href=\"http:\/\/gpo.zugaina.org\/sys-apps\/zram-utils\" target=\"_blank\" rel=\"nofollow\">http:\/\/gpo.zugaina.org\/sys-apps\/zram-utils<\/a><\/li>\n<\/ul>\n<\/div>\n<p>&nbsp;<\/p>\n<h1>INSTALA\u00c7\u00c3O DO ZRAM-UTILS<\/h1>\n<p>&nbsp;<\/p>\n<div>Procedimento adaptado da dica de Danilo Pianini, instala\u00e7\u00e3o para Gentoo:<\/p>\n<p>REF. 10 <a href=\"http:\/\/www.danilopianini.org\/oldsite\/\" target=\"_blank\" rel=\"nofollow\">zram-tools: zRAM made easy for Gentoo and Sabayon Linux<\/a><\/p>\n<p>O procedimento que ele sugere para instalar em Sabayon funcionaria, mas \u00e9 mais complexo do que o que eu uso neste artigo.<\/p>\n<p>O pacote zram-utils n\u00e3o existe nos reposit\u00f3rios (Entropy) do Sabayon e nem no Gentoo corrente, mas existe no Overlay Gentoo-Sabayon n\u00e3o oficial &#8220;nirvana&#8221;.<\/p>\n<h1>D. PREPARATIVOS<\/h1>\n<p>Para usar, voc\u00ea precisa compilar o pacote zram-utils com o Portage do Gentoo, para instal\u00e1-lo.<\/p>\n<p>MUITO IMPORTANTE: Para usar Portage em Sabayon, precisa primeiro editar certos arquivos de configura\u00e7\u00e3o, ou passar\u00e1 a ter downgrade de pacotes.<\/p>\n<p>Edite o arquivo <em>\/etc\/entropy\/client.conf<\/em> e procure a linha escrito &#8220;ignore spmdowngrades&#8221;, nessa linha, substitua &#8220;disable&#8221; por &#8220;enable&#8221; e salve o arquivo.<\/p>\n<p>Lembre tamb\u00e9m que nos Portage ap\u00f3s 2015, a FLAG &#8220;SYNC&#8221; do arquivo <em>\/etc\/portage\/make.conf<\/em> (ou em algumas instala\u00e7\u00f5es de sabayons mais antigos, \/etc\/make.conf) est\u00e1 obsoleta, depreciada.<\/p>\n<p>Adapte o seu make.conf do Sabayon. A priori, basta comentar a linha onde est\u00e1 escrito SYNC, com um sinal #.<\/p>\n<p>Se desejar, modernize todo seu Portage, usando a nova documenta\u00e7\u00e3o do Gentoo, que \u00e9 excelente:<\/p>\n<ul>\n<li><a href=\"https:\/\/wiki.gentoo.org\/wiki\/Project:Portage\/Sync\" target=\"_blank\" rel=\"nofollow\">https:\/\/wiki.gentoo.org\/wiki\/Project:Portage\/Sync<\/a><\/li>\n<\/ul>\n<p>Muito recentemente, publiquei um artigo de como se moderniza o Portage:<\/p>\n<ul>\n<li><a href=\"https:\/\/edpsblog.wordpress.com\/2015\/06\/12\/sabayon-e-gentoo-modernizando-o-portage\/\" target=\"_blank\" rel=\"nofollow\">Sabayon e Gentoo. Modernizando o Portage. \u00ab Mundo GNU<\/a><\/li>\n<\/ul>\n<p>Apesar que para o Portage funcionar, n\u00e3o ser\u00e1 preciso modernizar tudo. Como dito acima, se quiser, apenas comente a FLAG RSYNC no seu make.conf.<\/p>\n<p>Feitos esses procedimentos iniciais, os preparativos, passe ao descrito no item E.<\/p>\n<h1>E. INSTALA\u00c7\u00c3O DO OVERLAY E DO PACOTE ZRAM-UTILS<\/h1>\n<p>Em Sabayons novos, a vers\u00e3o existente do aplicativo &#8220;layman&#8221; (para adicionar Overlays) n\u00e3o est\u00e1 compilada com suporte ao sistema de controle de vers\u00e3o &#8220;mercurial&#8221; (usado pelo Overlay nirvana). \u00c9 necess\u00e1rio fazer essa compila\u00e7\u00e3o. Execute os comandos abaixo:<\/p>\n<p><strong># equo up<br \/>\n# emerge &#8211;sync<br \/>\n# emerge -av &#8211;oneshot portage<\/p>\n<p># emerge -av mercurial<\/strong><br \/>\n(ou, alternativamente)<br \/>\n<strong># equo i -av mercurial<\/strong><\/p>\n<p><strong># LINGUAS=&#8221;pt_BR&#8221; USE=&#8221;mercurial&#8221; emerge -av layman<\/strong><\/p>\n<p>Agora instale o Overlay Nirvana e atualize todos os Overlays:<\/p>\n<p><strong># layman -a nirvana<br \/>\n# layman -S<\/strong><\/p>\n<p>A seguir, para instalar o pacote &#8220;zram-utils&#8221;, execute:<\/p>\n<p><strong># emerge -av zram-utils<\/strong><\/p>\n<\/div>\n<p>&nbsp;<\/p>\n<h1>USANDO ZRAM-UTILS PARA ATIVAR ZRAM<\/h1>\n<p>&nbsp;<\/p>\n<div>\n<h1>F. ATIVANDO A ZRAM<\/h1>\n<p>Agora, por esse novo m\u00e9todo, \u00e9 bem mais simples. o pacote zram-utils faz a m\u00e1gica funcionar sozinha!<\/p>\n<p>F.1 NO BOOT:<\/p>\n<p>Basta ativar o servi\u00e7o do ZRAM no boot do Systemd (tamb\u00e9m adaptado de Danilo Pianini, p\u00e1gina 2, REF. 10):<\/p>\n<p><strong># systemctl enable zswap@zram0.service<\/strong><\/p>\n<p>Isso ativa o servi\u00e7o no boot. Sempre vai funcionar, o tempo todo, quando voc\u00ea ligar o micro.<\/p>\n<p>Reinicie o computador e fa\u00e7a login no Sabayon.<\/p>\n<p>Se desejar desligar o ZRAM numa sess\u00e3o, fa\u00e7a um atalho no desktop, chamado &#8220;Desligar ZRAM.desktop&#8221; e coloque nele estas linhas, ou fa\u00e7a-o graficamente, na tela, n\u00e3o esquecendo de marcar a op\u00e7\u00e3o avan\u00e7ada &#8220;executar em terminal&#8221;:<\/p>\n<div class=\"codigo\">[Desktop Entry]<br \/>\nComment[pt_BR]= Desligador de ZRAM<br \/>\nComment= switch off ZRAM<br \/>\nExec=sudo systemctl stop zswap@zram0.service &amp;&amp; sudo swapoff -a &amp;&amp; sudo swapon -a &amp;&amp; sudo swapon -sv<br \/>\nGenericName[pt_BR]=<br \/>\nGenericName=<br \/>\nIcon=ibus-setup<br \/>\nMimeType=<br \/>\nName[pt_BR]=Desligar ZRAM<br \/>\nName=Desligar ZRAM<br \/>\nPath=<br \/>\nStartupNotify=true<br \/>\nTerminal=true<br \/>\nTerminalOptions=<br \/>\nType=Application<br \/>\nX-DBUS-ServiceName=<br \/>\nX-DBUS-StartupType=none<br \/>\nX-KDE-SubstituteUID=false<br \/>\nX-KDE-Username=<\/div>\n<p>Esse atalho, clicando nele, ele abre um terminal, pede senha de usu\u00e1rio e &#8220;desliga&#8221; a ZRAM e mostra que est\u00e1 desligada e usando Swap f\u00edsica.<\/p>\n<p>Para religar fa\u00e7a reboot (para saber o motivo, veja F.2).<\/p>\n<p>F.2 MANUALMENTE:<\/p>\n<p>N\u00c3O RECOMENDO ESTE M\u00c9TODO: Testei bastante, e funciona, mas quando voc\u00ea inicia e para o servi\u00e7o manualmente, come\u00e7a a bagun\u00e7ar tudo, alguns n\u00facleos funcionam, outros n\u00e3o etc. Por isso n\u00e3o recomendo este m\u00e9todo.<\/p>\n<p>Primeiro desative no boot, para ativar apenas quando quiser. Execute estes comandos:<\/p>\n<p><strong># systemctl stop zswap@zram0.service<br \/>\n# systemctl disable zswap@zram0.service<\/strong><\/p>\n<p>Se voc\u00ea prefere s\u00f3 ativar quando desejar, use os seguintes comandos para ativar:<\/p>\n<p><strong># systemctl start zswap@zram0.service <\/strong><\/p>\n<p>Ou:<\/p>\n<p><strong># systemctl restart zswap@zram0.service<\/strong><\/p>\n<p>Ou parar o servi\u00e7o:<\/p>\n<p><strong># systemctl stop zswap@zram0.service<\/strong><\/p>\n<p>G. Verificar o funcionamento:<\/p>\n<p>Cheque se o servi\u00e7o est\u00e1 ativo. Para isto, execute:<\/p>\n<p><strong># systemctl status zswap@zram0.service<\/strong><\/p>\n<p>Deve aparecer algo assim como no meu micro, Phenon de 8 n\u00facleos com 16 Giga de RAM. Indica que ZRAM est\u00e1 ativo:<\/p>\n<p><samp>zswap@zram0.service &#8211; zRAM Swap zram0<br \/>\nLoaded: loaded (\/usr\/lib64\/systemd\/system\/zswap@.service; enabled)<br \/>\nActive: active (exited) since Qua 2015-06-03 15:54:31 BRT; 3h 40min ago<br \/>\nProcess: 1924 ExecStart=\/usr\/sbin\/zswap.sh start ram7 (code=exited, status=0\/SUCCESS)<br \/>\nProcess: 1917 ExecStart=\/usr\/sbin\/zswap.sh start ram6 (code=exited, status=0\/SUCCESS)<br \/>\nProcess: 1910 ExecStart=\/usr\/sbin\/zswap.sh start ram5 (code=exited, status=0\/SUCCESS)<br \/>\nProcess: 1901 ExecStart=\/usr\/sbin\/zswap.sh start ram4 (code=exited, status=0\/SUCCESS)<br \/>\nProcess: 1894 ExecStart=\/usr\/sbin\/zswap.sh start ram3 (code=exited, status=0\/SUCCESS)<br \/>\nProcess: 1886 ExecStart=\/usr\/sbin\/zswap.sh start ram2 (code=exited, status=0\/SUCCESS)<br \/>\nProcess: 1880 ExecStart=\/usr\/sbin\/zswap.sh start ram1 (code=exited, status=0\/SUCCESS)<br \/>\nProcess: 1798 ExecStart=\/usr\/sbin\/zswap.sh start ram0 (code=exited, status=0\/SUCCESS)<br \/>\nMain PID: 1931 (code=exited, status=0\/SUCCESS)<br \/>\nJun 03 15:54:31 sabayon zswap.sh[1924]: Starting zRAM Swap start<br \/>\nJun 03 15:54:31 sabayon zswap.sh[1924]: Setting up swapspace version 1, size = 16 MiB (16773120 bytes)<br \/>\nJun 03 15:54:31 sabayon zswap.sh[1924]: nenhum r\u00f3tulo, UUID=3df37417-eb43-4506-8967-e3a4264af235<br \/>\nJun 03 15:54:31 sabayon zswap.sh[1931]: Starting zRAM Swap start<br \/>\nJun 03 15:54:31 sabayon zswap.sh[1931]: Setting up swapspace version 1, size = 16 MiB (16773120 bytes)<br \/>\nJun 03 15:54:31 sabayon zswap.sh[1931]: nenhum r\u00f3tulo, UUID=ec46f278-9445-45df-b931-ccc1b5985a3f<br \/>\nHint: Some lines were ellipsized, use -l to show in full.<\/samp><\/p>\n<p>Agora, verifique se a mem\u00f3ria RAM est\u00e1 sendo alocada para cada n\u00facleo do processador (swap na RAM), com o comando:<\/p>\n<p><strong># swapon -sv<\/strong><\/p>\n<p>Deve ver algo assim, como no meu micro:<\/p>\n<pre>Nome do arquivo      Tipo            Tamanho         Usado   Prioridade\r\n\/dev\/sda7            partition       2047996 0       -1\r\n\/dev\/ram0            partition       16380   0       32767\r\n\/dev\/ram1            partition       16380   0       32767\r\n\/dev\/ram2            partition       16380   0       32767\r\n\/dev\/ram3            partition       16380   0       32767\r\n\/dev\/ram4            partition       16380   0       32767\r\n\/dev\/ram5            partition       16380   0       32767\r\n\/dev\/ram6            partition       16380   0       32767\r\n\/dev\/ram7            partition       16380   0       32767\r\n\r\n<\/pre>\n<p>Observe que os valores num\u00e9ricos s\u00e3o diferentes, nessa vers\u00e3o de ZRAM.<\/p>\n<p>A primeira linha mostra sda7, minha Swap normal, de 2 Gigabytes (2047996 Bytes).<\/p>\n<p>Mas nas linhas seguintes, essa vers\u00e3o de ZRAM mostra para cada n\u00facleo, o TOTAL da mem\u00f3ria do micro, ele n\u00e3o &#8220;analisa&#8221; &#8220;n\u00e3o &#8220;divide&#8221; para cada n\u00facleo separado. Tamb\u00e9m o uso, aloca\u00e7\u00e3o, n\u00e3o \u00e9 em porcentagem, mas em Bytes. Todos os valores est\u00e3o em Megabytes.<\/p>\n<p>Portanto a mem\u00f3ria f\u00edsica, de hardware do micro \u00e9 16 Gigabytes (16380 Megabytes) e a mem\u00f3ria total &#8220;virtualmente dispon\u00edvel&#8221;, seriam te\u00f3ricos 32 Gigabytes (32767 Megabytes). N\u00e3o sei porque ele usa essa nomenclatura (n\u00e3o consegui localizar na Internet).<\/p>\n<p>O esperado seria algo assim (tirado da P\u00e1gina 1, REF. 1):<\/p>\n<pre>Nome do arquivo       Tipo            Tamanho         Usado   Prioridade\r\n\/dev\/zram0            partition       403952  0       100\r\n\/dev\/zram1            partition       403952  0       100\r\n\/dev\/zram2            partition       403952  0       100\r\n\/dev\/zram3            partition       403952  0       100\r\n\/dev\/zram4            partition       403952  0       100\r\n\/dev\/zram5            partition       403952  0       100\r\n\/dev\/zram6            partition       403952  0       100\r\n\/dev\/zram7            partition       403952  0       100\r\n\r\n<\/pre>\n<p>O tamanho em bytes (REF. 1) ou em megabytes (p\u00e1gina 1, REF. 2) e o usado, em porcentagem.<\/p>\n<p>Em todo o caso, est\u00e1 funcionando.<\/p>\n<\/div>\n<p>&nbsp;<\/p>\n<h1>N\u00c3O FUNCIONOU! E AGORA?<\/h1>\n<p>&nbsp;<\/p>\n<div>\n<h1>H. PROBLEMAS<\/h1>\n<p>Nos meus experimentos iniciais, vi que n\u00e3o funcionava. Ou o servi\u00e7o n\u00e3o iniciava, ou iniciava em um s\u00f3 n\u00facleo, ou n\u00e3o funcionava nada.<\/p>\n<p>Especulo que o sistema n\u00e3o conseguiu identificar a multiplicidade, todos os n\u00facleos, devido \u00e0 alguma vari\u00e1vel de ambiente.<\/p>\n<p>Como voc\u00ea sabe que n\u00e3o funcionou? Execute alguns testes:<\/p>\n<p><strong># swapon -sv<\/strong><\/p>\n<p>S\u00f3 ver\u00e1 a Swap normal ou, ela e um s\u00f3 n\u00facleo ativado.<\/p>\n<p>Para verificar mais, execute:<\/p>\n<p><strong># systemctl status zswap@zram0.service<\/strong><\/p>\n<p>E ver\u00e1 erros de servi\u00e7o, parado ou descarregado. Agora execute:<\/p>\n<p><strong># usr\/sbin\/zswap.sh start ram0<\/strong><\/p>\n<p>Isso ativa s\u00f3 um n\u00facleo, e indica que seu ZRAM funciona, por\u00e9m n\u00e3o iniciando no boot.<\/p>\n<h1>I. SOLU\u00c7\u00c3O<\/h1>\n<p>Resolv\u00cd com um &#8220;procedimento t\u00e9cnico e cient\u00edfico rigoroso&#8221;, uma tradicional &#8220;gambiarra&#8221;! rsrs!<\/p>\n<p>Localize o arquivo <em>\/etc\/systemd\/system\/local-fs.target.wants\/zswap@zram0.service<\/em> e o copie, para proteg\u00ea-lo. Isso sempre \u00e9 uma boa pr\u00e1tica em <a href=\"http:\/\/www.vivaolinux.com.br\/linux\/\">Linux<\/a>:<\/p>\n<p><strong># cp \/etc\/systemd\/system\/local-fs.target.wants\/zswap@zram0.service \/etc\/systemd\/system\/local-fs.target.wants\/zswap@zram0.service.original<\/strong><\/p>\n<p>Agora, edite o arquivo como root, usando seu editor padr\u00e3o ou favorito. Eu usei Kwrite, mas voc\u00ea pode usar o que quiser:<\/p>\n<p><strong>$ kdesudo kwrite \/etc\/systemd\/system\/local-fs.target.wants\/zswap@zram0.service<\/strong><\/p>\n<p>Deixe o arquivo semelhante ao meu, apenas adaptando para o n\u00famero de n\u00facleos do seu processador:<\/p>\n<div class=\"codigo\">[Unit]<br \/>\nDescription=zRAM Swap %i<\/p>\n<p>[Service]<br \/>\nType=oneshot<br \/>\nRemainAfterExit=true<\/p>\n<p><span class=\"comentario\"># Linhas eram assim, no Arquivo Original, Comentadas para n\u00e3o atuar<br \/>\n<\/span><br \/>\n<span class=\"comentario\"># ExecStart=\/usr\/sbin\/zswap.sh start %i<br \/>\n<\/span><span class=\"comentario\"># ExecStop=\/usr\/sbin\/zswap.sh stop %i<br \/>\n<\/span><br \/>\n<span class=\"comentario\"># Editado para Iniciar e Parar todos os n\u00facleos, de 0 a 7<br \/>\n<\/span><span class=\"comentario\"># Adapte para o seu n\u00famero de n\u00facleos, ou s\u00f3 alguns, caso n\u00e3o queira iniciar todos:<br \/>\n<\/span><br \/>\nExecStart=\/usr\/sbin\/zswap.sh start ram0<br \/>\nExecStop=\/usr\/sbin\/zswap.sh stop ram0<br \/>\nExecStart=\/usr\/sbin\/zswap.sh start ram1<br \/>\nExecStop=\/usr\/sbin\/zswap.sh stop ram1<br \/>\nExecStart=\/usr\/sbin\/zswap.sh start ram2<br \/>\nExecStop=\/usr\/sbin\/zswap.sh stop ram2<br \/>\nExecStart=\/usr\/sbin\/zswap.sh start ram3<br \/>\nExecStop=\/usr\/sbin\/zswap.sh stop ram3<br \/>\nExecStart=\/usr\/sbin\/zswap.sh start ram4<br \/>\nExecStop=\/usr\/sbin\/zswap.sh stop ram4<br \/>\nExecStart=\/usr\/sbin\/zswap.sh start ram5<br \/>\nExecStop=\/usr\/sbin\/zswap.sh stop ram5<br \/>\nExecStart=\/usr\/sbin\/zswap.sh start ram6<br \/>\nExecStop=\/usr\/sbin\/zswap.sh stop ram6<br \/>\nExecStart=\/usr\/sbin\/zswap.sh start ram7<br \/>\nExecStop=\/usr\/sbin\/zswap.sh stop ram7<\/p>\n<p>[Install]<br \/>\nWantedBy=local-fs.target<\/p><\/div>\n<p>Salve o arquivo, sem mudar o nome. Feche a sess\u00e3o e reinicie o micro. Tudo deve estar funcionando, agora.<\/p>\n<p>Danilo Pianini (p\u00e1gina 2, REF. 10) sugere que se isso ocorrer, voc\u00ea crie v\u00e1rias inst\u00e2ncias do servi\u00e7o, uma para cada n\u00facleo, tipo o exemplo, para dois n\u00facleos:<\/p>\n<p><strong># systemctl enable zswap@zram0.service<br \/>\n# systemctl enable zswap@zram1.service<\/strong><\/p>\n<p>Mas se voc\u00ea tiver v\u00e1rios n\u00facleos, eu acho pouco pr\u00e1tico.<\/p>\n<\/div>\n<p>&nbsp;<\/p>\n<h1>TESTES E COMPLEMENTOS \/ CONCLUS\u00c3O<\/h1>\n<p>&nbsp;<\/p>\n<div>\n<h1>J. TESTES<\/h1>\n<p>Eu fiz v\u00e1rios testes e experimentos: aceleradores, estressadores de CPU, otimiza\u00e7\u00e3o de servi\u00e7os e configura\u00e7\u00f5es, regular para alta performance etc.<\/p>\n<p>N\u00e3o os vou repetir aqui, visto que a metodologia j\u00e1 est\u00e1 toda publicada em outros artigos meus.<\/p>\n<p>Se desejar, voc\u00ea pode usar em conjunto com a ZRAM: outros aceleradores, como Preload, Prelink e Verynice. Tamb\u00e9m pode controlar os servi\u00e7os iniciados no boot e as configura\u00e7\u00f5es dos aplicativos, testar estressar a CPU, fazer medidas de benchmark etc.<\/p>\n<p>Para obter detalhes desses testes todos, consulte as refer\u00eancias da p\u00e1gina 1, REF. 1 e REF. 2, e mais os seguintes artigos e dicas:<\/p>\n<ul>\n<li><a href=\"https:\/\/edpsblog.wordpress.com\/2014\/06\/05\/testes-iniciais-com-zram-em-sabayon-linux\/\" target=\"_blank\" rel=\"nofollow\">Testes Iniciais com ZRAM em Sabayon Linux. \u00ab Mundo GNU<\/a><\/li>\n<li><a href=\"http:\/\/www.vivaolinux.com.br\/artigo\/Comparando-desempenho-de-distros-arquiteturas-ou-ambientes-graficos-Metodo-universal\/\">Comparando desempenho de distros, arquiteturas ou ambientes gr\u00e1ficos &#8211; M\u00e9todo universal<\/a><\/li>\n<li><a href=\"http:\/\/www.vivaolinux.com.br\/dica\/Guia-de-otimizacao-para-o-Ubuntu\">Guia de otimiza\u00e7\u00e3o para o Ubuntu<\/a><\/li>\n<li><a href=\"http:\/\/www.vivaolinux.com.br\/dica\/VeryNice-Controle-e-gestao-automatica-de-servicos-no-Linux\">VeryNice &#8211; Controle e gest\u00e3o autom\u00e1tica de servi\u00e7os no Linux<\/a><\/li>\n<li><\/li>\n<li><a href=\"https:\/\/edpsblog.wordpress.com\/2014\/05\/06\/kcmsystemd-interface-grafica-para-systemd\/\" target=\"_blank\" rel=\"nofollow\">KCMSystemd \u2013 Interface gr\u00e1fica para Systemd. \u00ab Mundo GNU<\/a><\/li>\n<li><a href=\"http:\/\/www.vivaolinux.com.br\/artigo\/Otimizando-o-Sabayon-Linux-inclusive-o-Firefox\">Otimizando o Sabayon Linux (inclusive o Firefox)<\/a><\/li>\n<li><a href=\"http:\/\/www.vivaolinux.com.br\/artigo\/Regulando-o-desktop-para-trabalhar-em-maxima-performance\">Regulando o desktop para trabalhar em m\u00e1xima performance<\/a><\/li>\n<\/ul>\n<p>Pode inclusive, colocar todos os seus diret\u00f3rios tempor\u00e1rios na RAM. Veja p\u00e1gina 1, REF. 2 e coment\u00e1rios da REF. 7, e o excelente artigo do colega KYETOY, aqui do VOL:<\/p>\n<ul>\n<li><a href=\"http:\/\/www.vivaolinux.com.br\/artigo\/Sistemas-de-arquivos-Conceitos-basicos\">Sistemas de arquivos &#8211; Conceitos b\u00e1sicos<\/a><\/li>\n<\/ul>\n<h1>K. ALGUMAS OBSERVA\u00c7\u00d5ES FINAIS E CONCLUS\u00c3O<\/h1>\n<p>Verifiquei que o boot fica somente ligeiramente mais r\u00e1pido, mas a velocidade, a performance geral do micro aumenta substancialmente e o consumo de CPU diminuem drasticamente.<\/p>\n<p>Apenas reportando um dos meus testes, o micro roda estressador de CPU, CPUBurn, praticamente sem consumir a RAM f\u00edsica (cerca de 14 Giga livres), sem usar a Swap de disco (2 Giga) e at\u00e9 sem usar 100 % de CPU (apenas 13 a 15 %).<\/p>\n<p>Vejam na figura, acima, \u00e0 esquerda, o terminal mostra a Swap na RAM, todos os n\u00facleos; acima, \u00e0 direita, os processos, pacote htop; Abaixo, \u00e0 esquerda, mem\u00f3ria livre (comando free). Abaixo, \u00e0 direita, CPUBurn iniciado (comando burnK6). Note tamb\u00e9m, no monitor Gkrellm, temperatura n\u00e3o muita alta, pouco uso de CPU e muita mem\u00f3ria livre&#8230;<\/p>\n<div class=\"figura\"><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/zram.png\" target=\"_blank\" rel=\"nofollow\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_zram.png\" alt=\"Linux: Usando Swap na RAM em Sabayon. ZRAM. M\u00e9todo Novo.\" width=\"500\" height=\"282\" border=\"0\" \/><\/a><\/div>\n<p>Lembro por\u00e9m tamb\u00e9m este micro tem Preload e Verynice ativos, o que melhora. Mas em contra partida, h\u00e1 muitos aplicativos abertos (inclusive o Firefox onde estou escrevendo isto), m\u00faltiplos ambientes gr\u00e1ficos e ainda \u00e9 KDE4 pesado e com efeitos 3D de Kwin ativados!<\/p>\n<p>Em resumo, o ZRAM parece fazer um \u00f3timo aproveitamento dos recursos de RAM f\u00edsica, de hardware e tamb\u00e9m da Swap de disco e em RAM. Parece muito eficiente!<\/p>\n<p>Sem usar ZRAM, o mesmo micro usa muitos mais Recursos. Observa\u00e7\u00f5es minhas em recente artigo, rodando sistemas de 32 Bits, com CPUBurn, mas sem ZRAM, o micro quase trava, mesmo com 16 Giga de RAM.<\/p>\n<p>Advirto por\u00e9m que em teoria, se voc\u00ea aplicar Swap na RAM em computadores com pouca mem\u00f3ria RAM f\u00edsica (lembrando que meu micro tem 16 Giga), pode piorar, ao inv\u00e9s de melhorar.<\/p>\n<p>Ou seja, em m\u00e1quinas com pouca RAM, o uso de Swap convencional (e grande), no disco r\u00edgido, pode ser melhor alternativa. Sugiro que voc\u00ea voc\u00ea teste em micros com pelo menos 2 n\u00facleos e um m\u00ednimo 4 Giga de RAM.<\/p>\n<p>N\u00e3o testei, mas acredito que se o pacote zram-utils existir nos reposit\u00f3rios de sua distro, o m\u00e9todo pode ser aplicado em outras distribui\u00e7\u00f5es com Systemd.<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>INTRODU\u00c7\u00c3O &nbsp; A. INFORMA\u00c7\u00d5ES IMPORTANTES E REFER\u00caNCIAS Primeiramente, informo que o presente artigo torna obsoletos os procedimentos descritos nas dicas e artigos anteriores: REF. 1 &#8211; Usando ZRAM em Sabayon. Nova atualiza\u00e7\u00e3o REF. 2 &#8211; Experimento: Swap diretamente na mem\u00f3ria RAM &#8211; Testes para RAM e Swap Lembro por\u00e9m que apenas os m\u00e9todos (descritos nos [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[455,91,1,730,830,79,42,51,415,495,85,68,271,127,548],"tags":[369,909,931,935,932,933,930,513,934],"class_list":["post-4088","post","type-post","status-publish","format-standard","hentry","category-apache2","category-banco-de-dados","category-viazap","category-clusterweb","category-debian","category-firewall","category-leitura-recomendada","category-linux-linuxrs","category-mikrotik-2","category-profissional-de-ti","category-proxy","category-redes-2","category-seguranca-2","category-sistemas-de-armazenamento","category-ubuntu-2","tag-em","tag-metodo","tag-na","tag-novo","tag-ram","tag-sabayon","tag-swap","tag-usando","tag-zram"],"_links":{"self":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts\/4088","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4088"}],"version-history":[{"count":1,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts\/4088\/revisions"}],"predecessor-version":[{"id":4089,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts\/4088\/revisions\/4089"}],"wp:attachment":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4088"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4088"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4088"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}