Debian 8: Deixando o sistema mais rápido

Publicado por Gustavo Valério em 18/05/2015

[ Hits: 17.297 ]

Blog: http://gustavovalerio.com.br/

 


Debian 8: Deixando o sistema mais rápido



Olá, pessoal.

Na dica de hoje, vou mostrar-lhes como deixar o Debian mais rápido (muito mais).

Em troca de velocidade, iremos torturar sua memória e processador!

Brincadeiras à parte, faremos um bom uso da memória RAM, então, não tente esse tutorial se possuir menos de 2GB de RAM. Se não gostar de usar o terminal, ignore esta dica, pois faremos bastante uso dele.

Não gosto de possuir recursos e não utilizá-los, para isso, elaborei esta dica. Um pequeno tutorial para fazer um bom aproveitamento dos recursos disponíveis no seu computador, em troca de desempenho e agilidade. Seu Debian ficará mais "esperto".

Passos

Passo 1: Instalando o Preload e o Prelink.

# apt install preload prelink

E em seguida, digite:

# nano /etc/preload.conf

E altere as seguintes linhas (muito cuidado ao alterar isso):

memfree = 50 #=> altere para 90
memcached = 0 #=> altere para 35
processes = 30 #=> altere para 50

Salve e feche o arquivo.

Configurando o Prelink:

# nano /etc/prelink.conf

Esse passo é para quem usa o Skype ou pretende utilizá-lo.

Adicione a seguinte linha, abaixo da última linha que utiliza "-b":

-b /usr/bin/skype

Salve e feche o arquivo.

Lembre-se que o Prelink não funciona com softwares instalados depois da instalação do mesmo, vamos corrigir isso.

Execute no terminal:

# sed -i 's/unknown/yes/g' /etc/default/prelink

Agora, vamos configurá-lo para trabalhar em conjunto com o APT. Digite:

# nano /etc/apt/apt.conf

E adicione:

DPkg::Post-Invoke {"echo O Prelink está trabalhando, por favor, aguarde...;/etc/cron.daily/prelink";}

Salve, feche o arquivo e execute:

# apt-get update
# /etc/cron.daily/prelink

Passo 2: Agora vamos alterar o arquivo "sysctl.conf".

Execute isto no terminal:

# nano /etc/sysctl.conf

No final do arquivo, adicione as seguintes linhas:

vm.swappiness=5
vm.vfs_cache_pressure=60
vm.dirty_background_ratio=15
vm.dirty_ratio=25

Salve e feche o arquivo.

Passo 3: Vamos alterar o arquivos "hosts".

Para melhorar o tempo de inicialização de aplicativos, execute:

# nano /etc/hosts

Vai aparecer algo semelhante a isto:

127.0.0.1       localhost
127.0.1.1       user

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters


Só que, ali onde está escrito user, aparecerá o nome que você configurou na instalação do Debian. Altere para:

127.0.0.1       localhost user
127.0.1.1       user

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

Preste bastante atenção na mudança acima para não errar. Alteramos apenas a primeira linha, acrescentando o nome do host para acelerar a abertura de aplicativos.

Passo 4: Removendo o "Splash" do Libreoffice para acelerar a abertura do mesmo:

# nano /etc/libreoffice/sofficerc

Procure por: Logo=1

E altere para:

Logo=0

Se você não usa o Libreoffice Base, pode desabilitar o Java no Libreoffice e deixá-lo ainda mais rápido:
  • Acesse: Ferramentas → Opções
  • Na aba "Avançados", desmarque a opção: "Utilizar um JRE"
  • Clique em OK e feche-o.

Depois de realizar os procedimentos acima, reinicie sua máquina. Tenho certeza que você notará uma diferença enorme no desempenho.

Esses passos foram realizados em 6 computadores com o Debian 8 KDE X86_64 e até agora não causou nenhum problema.

Também já realizei os passos acima no Kubuntu 14 desde o seu lançamento, até agora ocorreu tudo bem.

Caso queira deixar seu sistema ainda mais rápido, instale o Kernel 4.0 ou o Kernel Low-latency, seguindo essa dica:
Até a próxima dica.

Outras dicas deste autor

Adicionando um botão "Overview" no KDE (similar ao do Gnome 3)

Desativando o Adobe Flash Player no Chrome

Visual do KDE 5 no KDE 4 em 7 passos

Pacote com 88 cursores para KDE

KDE - Ativando abertura do lançador de aplicativos com tecla Super

Leitura recomendada

Criando compartilhamentos na rede com NFS

Atualização da Mandriva caindo ou falhando?

Java plugin para Firefox no Slackware 14.1 - Configuração

Arch Linux com Xfce 4 - Habilitando botão desligar

Iniciando TeamViewer 10 automaticamente no Ubuntu 12.04 LTS

  

Comentários
[1] Comentário enviado por GustavoValerio em 18/05/2015 - 18:05h

Caso queiram ver o efeito das dicas acima, segue o link de um vídeo que postei no You Tube:

No Vídeo, apresento-lhes o Debian 8 KDE X86_64!

https://www.youtube.com/watch?v=heKoe1R3xOI

Ninguém é sábio o suficiente que não possa aprender,
nem ignorante o suficiente que não possa ensinar. -- Autor Desconhecido

[2] Comentário enviado por hugoeustaquio em 18/05/2015 - 20:47h

A alteração das configurações de host, em especial o nome referido para loopback não tem relação alguma com o tempo de carregamento dos seus aplicativos. Esse arquivo é consultado para localizar máquinas na rede, e a linha que você alterou (loopback) é uma configuração existente para que ao acessar um recurso de rede da sua própria máquina você não precise gerar consultas ao seu servidor de DNS. Também não creio que as consultas DNS ficarão mais rápidas porque você mudou sua configuração de loopback.

[3] Comentário enviado por GustavoValerio em 18/05/2015 - 20:57h


[2] Comentário enviado por hugoeustaquio em 18/05/2015 - 20:47h

A alteração das configurações de host, em especial o nome referido para loopback não tem relação alguma com o tempo de carregamento dos seus aplicativos. Esse arquivo é consultado para localizar máquinas na rede, e a linha que você alterou (loopback) é uma configuração existente para que ao acessar um recurso de rede da sua própria máquina você não precise gerar consultas ao seu servidor de DNS. Também não creio que as consultas DNS ficarão mais rápidas porque você mudou sua configuração de loopback.


Entendo, mas funciona. Inclusive se adicionarmos .(none) aumenta a velocidade de carregamento do Libreoffice, Okular, Evince, Kwrite, Kate...

Pode fazer os testes, funciona.

Também não entendi a relação que isso tem com a abertura de aplicativos, fiz várias pesquisas, inclusive em fóruns americanos e europeus, e todos (os que pesquisei) confirmaram que realmente melhora a velocidade de abertura de aplicativos.

Talvez numa máquina boa, nem se perceba a diferença, mas num Sempron + 512 RAM a diferença é perceptível...

Abraços, e obrigado por comentar!

[4] Comentário enviado por hugoeustaquio em 18/05/2015 - 21:07h

Se algum programa precisar criar pipes e se comunicar com sua própria máquina via TCP e também desconhecer uso de cache para essas consultas ao invés de fazer uma consulta DNS, esse programa foi mal escrito. Creio que não seja o caso dos programas que você mencionou, leia o manual com o comando:

$ man /etc/hosts

E na verdade o gargalo de performance desses programas sempre será ruim, mesmo alterando a configuração. O próprio manual sugere que você não faça isso:

"By the way, Arnt Gulbrandsen <agulbra@nvg.unit.no> says that 127.0.0.1 # should NEVER be
named with the name of the machine. It causes problems # for some (stupid) programs, irc and reputedly talk. :^) #"

Se você tem problemas com a velocidade das consultas de DNS, dê uma olhada no projeto Namebench, que foi oficialmente adotado pela google. Ele vai procurar os melhores servidores de DNS pra você (a sugestão de configuração não vai alterar sua interface de loopback) e vai te informar qual a melhor configuração pra você. Lembrando que se você usar um roteador a configuração deverá ser feita nele.

https://code.google.com/p/namebench/

[5] Comentário enviado por GustavoValerio em 18/05/2015 - 21:12h


[4] Comentário enviado por hugoeustaquio em 18/05/2015 - 21:07h

Se algum programa precisar criar pipes e se comunicar com sua própria máquina via TCP e também desconhecer uso de cache para essas consultas ao invés de fazer uma consulta DNS, esse programa foi mal escrito. Creio que não seja o caso dos programas que você mencionou, leia o manual com o comando:

$ man /etc/hosts

E na verdade o gargalo de performance desses programas sempre será ruim, mesmo alterando a configuração. O próprio manual sugere que você não faça isso:

"By the way, Arnt Gulbrandsen &lt;agulbra@nvg.unit.no&gt; says that 127.0.0.1 # should NEVER be
named with the name of the machine. It causes problems # for some (stupid) programs, irc and reputedly talk. :^) #"

Se você tem problemas com a velocidade das consultas de DNS, dê uma olhada no projeto Namebench, que foi oficialmente adotado pela google. Ele vai procurar os melhores servidores de DNS pra você (a sugestão de configuração não vai alterar sua interface de loopback) e vai te informar qual a melhor configuração pra você. Lembrando que se você usar um roteador a configuração deverá ser feita nele.

https://code.google.com/p/namebench/


Mas neste caso, eu não tenho problema de DNS, só não quero que alguns aplicativos façam algum tipo de checagem na rede, e isso, segundo o que li, pode ser comum no Linux, por isto, muitos fóruns sugerem isto.

Faça o teste, depois tire as conclusões.
Garanto que em PCs "ultrapassados" isso faz diferença...
Palavra de quem já fez isto em várias máquinas com configurações que faziam até o WinXP travar só em saber que seria instalado ali!!!

A questão do "127.0.0.1 nome_do_computador.(none)", no meu PC não faz diferença...

[6] Comentário enviado por hugoeustaquio em 18/05/2015 - 21:17h

Leu isso aonde?

[7] Comentário enviado por GustavoValerio em 18/05/2015 - 21:19h


[6] Comentário enviado por hugoeustaquio em 18/05/2015 - 21:17h

Leu isso aonde?


Não lembro, foram tantas páginas que consultei antes de enviar essa dica para o VOL.

Não contrariando o que disse, mas o SMplayer, por exemplo, quando adicionamos "127.0.0.1 localhost user" ele passa a abrir quase que instantaneamente em máquinas antigas. Na minha, nem faz diferença.

[8] Comentário enviado por hugoeustaquio em 18/05/2015 - 21:34h

Cara, eu pesquisei no google e não achei nada a respeito. Sei que se o programa for mal escrito e fizer consultas desnecessárias para se comunicar consigo mesmo via TCP, terá perda de performance. Mas analise os cenários:

Cenário 1: Programa mal feito consulta DNS pelo nome da própria máquina, arquivo de configuração consultado responde ao encontrar na segunda linha do arquivo. Acontecerá a perda referente a uma consulta desnecessária acrescido do tempo para ler o arquivo até a segunda linha.

Cenário 2 (o que você propôs): Programa mal feito consulta DNS pelo nome da própria máquina, arquivo de configuração consultado responde ao encontrar na primeira linha do arquivo. Acontecerá a perda referente a uma consulta desnecessária acrescido do tempo para ler o arquivo até a primeira linha. Você tem um ganho infinitesimal em relação ao cenário 1, referente a leitura de 1 linha do arquivo.

Cenário 3 (sugerido por Arnt Gulbrandsen - consta no manual): Programa mal feito não encontra o nome da máquina, e assim é dissuadido a usar "127.0.0.1" como se fosse o próprio host da máquina, evitando assim a desnecessária consulta. Você tem um ganho em relação ao cenário 1 e 2. Ainda não é o cenário ideal, que seria o software bem escrito que precisa se comunicar com a própria máquina conhecer a interface de loopback. Essa configuração vai "enganar" o sistema mal escrito após a primeira consulta, porque ele não vai encontrar o hostname da máquina vinculado ao loopback.

Não sei se existe algum fator adicional a ser considerado, mas em todo o caso não creio que hajam muitos programas mal feitos assim no linux. Open source usualmente recebe correções para esses problemas mais bobos da própria comunidade.

[9] Comentário enviado por GustavoValerio em 18/05/2015 - 21:48h


[8] Comentário enviado por hugoeustaquio em 18/05/2015 - 21:34h

Cara, eu pesquisei no google e não achei nada a respeito. Sei que se o programa for mal escrito e fizer consultas desnecessárias para se comunicar consigo mesmo via TCP, terá perda de performance. Mas analise os cenários:

Cenário 1: Programa mal feito consulta DNS pelo nome da própria máquina, arquivo de configuração consultado responde ao encontrar na segunda linha do arquivo. Acontecerá a perda referente a uma consulta desnecessária acrescido do tempo para ler o arquivo até a segunda linha.

Cenário 2 (o que você propôs): Programa mal feito consulta DNS pelo nome da própria máquina, arquivo de configuração consultado responde ao encontrar na primeira linha do arquivo. Acontecerá a perda referente a uma consulta desnecessária acrescido do tempo para ler o arquivo até a primeira linha. Você tem um ganho infinitesimal em relação ao cenário 1, referente a leitura de 1 linha do arquivo.

Cenário 3 (sugerido por Arnt Gulbrandsen - consta no manual): Programa mal feito não encontra o nome da máquina, e assim é dissuadido a usar "127.0.0.1" como se fosse o próprio host da máquina, evitando assim a desnecessária consulta. Você tem um ganho em relação ao cenário 1 e 2. Ainda não é o cenário ideal, que seria o software bem escrito que precisa se comunicar com a própria máquina conhecer a interface de loopback. Essa configuração vai "enganar" o sistema mal escrito após a primeira consulta, porque ele não vai encontrar o hostname da máquina vinculado ao loopback.

Não sei se existe algum fator adicional a ser considerado, mas em todo o caso não creio que hajam muitos programas mal feitos assim no linux. Open source usualmente recebe correções para esses problemas mais bobos da própria comunidade.


Bom, concordo contigo, mas como disse, em máquinas antigas realmente fez diferenças nos meus testes.
Se administradores do VOL quiserem retirar esta parte, não me incomodarei.

1. Não uso na minha máquina, pois como disse antes, não fez diferença.
2. Fiz isso numas 8 ou 9 máquinas que foram "ressuscitadas" e nelas fizeram diferença.

A questão de softwares mal-escritos é bem relativa, depende de quem observa...
Observe o Gnome, Gimp e alguns programas "famosos" e fica difícil definir um "programa bem escrito do mal escrito"...
Há algumas pessoas que afirmam veementemente que boa parte dos aplicativos em GTK são mal-escritos, não posso afirmar, pois para tal, teria de ter feito coisa melhor...

Ah, as máquinas que citei, por exemplo, usam Debian + Lxde...

Obrigado por comentar e grato pela aula.

[10] Comentário enviado por removido em 19/05/2015 - 00:23h


[2] Comentário enviado por hugoeustaquio em 18/05/2015 - 20:47h

A alteração das configurações de host, em especial o nome referido para loopback não tem relação alguma com o tempo de carregamento dos seus aplicativos. Esse arquivo é consultado para localizar máquinas na rede, e a linha que você alterou (loopback) é uma configuração existente para que ao acessar um recurso de rede da sua própria máquina você não precise gerar consultas ao seu servidor de DNS. Também não creio que as consultas DNS ficarão mais rápidas porque você mudou sua configuração de loopback.


Alguns programas como o sendmail ficam muito lentos sem um FQDN no /etc/hosts e embora eu não tenha presenciado (Pouco usei o gnome durante estes anos), existem tópicos antigos pela rede relatando isto:
https://bugs.launchpad.net/ubuntu/+bug/94048

Coisa estranha, mas...

[11] Comentário enviado por hugoeustaquio em 19/05/2015 - 00:50h

Se o problema for falta de domínio qualificado, creio que produziria um resultado melhor editar a segunda linha e qualificar direto, tipo:

127.0.0.1 dominio.host host

ao invés de adicionar o host na primeira linha. Mas conforme eu disse antes, a recomendação pra lidar com software bugado é mesmo retirar o host da segunda linha ao invés de adicioná-lo a primeira. É um bug bizarro, valeu saber. Só fiquei curioso pra saber o que aconteceria se o mesmo gnome bugado (esse bug parece só ter sido corrigido na versão 3.6) tivesse desabilitado o loopback. O debian para de funcionar sem loopback? Alguém aí tem uma máquina velha rodando gnome e pode fazer os 3 testes (desassociar o host VS adicionar o host na primeira linha VS adicionar um domínio) e comparar a performance?

[12] Comentário enviado por removido em 19/05/2015 - 16:58h

Parabéns, Gustavo!

Apliquei sua dica desde bem antes da publicação.
A intenção foi mesmo testar tudo antes de tornar o Debian como minha distro principal.
E o Debian ficou mesmo muito rápido.

Ótima dica!

[13] Comentário enviado por xerxeslins em 19/05/2015 - 20:53h

Dica favoritada.

--
http://pastebin.com/aji5Qp05

[14] Comentário enviado por GustavoValerio em 19/05/2015 - 21:43h


[12] Comentário enviado por izaias em 19/05/2015 - 16:58h

Parabéns, Gustavo!

Apliquei sua dica desde bem antes da publicação.
A intenção foi mesmo testar tudo antes de tornar o Debian como minha distro principal.
E o Debian ficou mesmo muito rápido.

Ótima dica!


Muito obrigado!
Gostei de saber que testasses antes de publicar, assim tenho a certeza que funciona não só para mim!
No meu Debian, ainda fiz umas modificações profundas, tanto que o KDE está quase instantâneo...
Se possuir mais de 4GB de RAM, pode deixar esse atributo assim:

vm.vfs_cache_pressure=90

Melhora mais ainda!

[15] Comentário enviado por GustavoValerio em 19/05/2015 - 21:45h


[13] Comentário enviado por xerxeslins em 19/05/2015 - 20:53h

Dica favoritada.

--
http://pastebin.com/aji5Qp05


Obrigado Xerxes!

[16] Comentário enviado por edps em 10/06/2015 - 19:06h


Boa dica! porém, a única coisa que não faço é adicionar o prelink no apt.conf porque na minha opinião torna a já demorada instalação dos pacotes no Debian ainda mais demorada.

[17] Comentário enviado por GustavoValerio em 10/06/2015 - 19:51h


[16] Comentário enviado por edps em 10/06/2015 - 19:06h


Boa dica! porém, a única coisa que não faço é adicionar o prelink no apt.conf porque na minha opinião torna a já demorada instalação dos pacotes no Debian ainda mais demorada.


Verdade!
A instalação, remoção e atualização fica um pouco mais demorado, porém, compensa pela praticidade!

[18] Comentário enviado por lSinkz em 28/10/2015 - 02:46h

Infelizmente o Prelink deixou o meu terminal muito "lento". Na verdade parece que com ele nem consegue terminar o processo, estou aqui a minutos esperando terminar o processo e fica com "O Prelink está trabalhando, por favor, aguarde...". Pelo jeito vou ter que desinstalar o tal.

[19] Comentário enviado por GustavoValerio em 28/10/2015 - 15:08h


[18] Comentário enviado por lSinkz em 28/10/2015 - 02:46h

Infelizmente o Prelink deixou o meu terminal muito "lento". Na verdade parece que com ele nem consegue terminar o processo, estou aqui a minutos esperando terminar o processo e fica com "O Prelink está trabalhando, por favor, aguarde...". Pelo jeito vou ter que desinstalar o tal.


Não precisa removê-lo.
Basta acessar como root:

nano /etc/apt/apt.conf

E apagar esta linha:

DPkg::Post-Invoke {"echo O Prelink está trabalhando, por favor, aguarde...;/etc/cron.daily/prelink";}

Salve e pronto!

[20] Comentário enviado por Mauriciodez em 18/04/2016 - 19:58h

Tô pensando em fazer isso no LMDE cinnamon ... meu hardware é identico .. será q vinga ???

[21] Comentário enviado por GustavoValerio em 18/04/2016 - 22:44h


[20] Comentário enviado por Mauriciodez em 18/04/2016 - 19:58h

Tô pensando em fazer isso no LMDE cinnamon ... meu hardware é identico .. será q vinga ???


Vinga sim. Faz ai e posta se melhorou.

[22] Comentário enviado por removido em 08/05/2016 - 19:17h

Essa dica, já favoritada, continua atual tanto no Debian Jessie quanto no Ubuntu 16.04.
Ambos estão muito rápidos aqui.

Ótimo trabalho!

[23] Comentário enviado por rrodrigues345 em 30/05/2017 - 13:19h

Ola pessoal!
1. O que estas modificações fazem na prática com o computador? Infelizmente não poderei realizar estas modificações tão cedo...

2. Qual hardware se beneficia mais dele? Notes entram na lista?

Mto bom os comentários, taça lendo aqui...

abraços!



[24] Comentário enviado por rrodrigues345 em 30/05/2017 - 13:23h


[3] Comentário enviado por GustavoValerio em 18/05/2015 - 20:57h

Talvez numa máquina boa, nem se perceba a diferença, mas num Sempron + 512 RAM a diferença é perceptível...

Abraços, e obrigado por comentar!


Gustavo, eu poderia utilizar esta sua dica em notes mais modestos? Daí só trocaria o KDE pelo LXDE?!

Abraços

[25] Comentário enviado por didism2 em 18/07/2017 - 14:22h

Apenas ressuscitando este tópico...

Estou usando o Debian 9 , lá não tem o apt.conf , o que pode ser feito ?

[26] Comentário enviado por removido em 18/07/2017 - 14:47h


[25] Comentário enviado por didism2 em 18/07/2017 - 14:22h

Apenas ressuscitando este tópico...

Estou usando o Debian 9 , lá não tem o apt.conf , o que pode ser feito ?


Se serve de parâmetro, apliquei a dica no Debian 9 e deu tudo certo.
O arquivo "apt.conf" será criado com o comando exposto na dica e é só colar a linha.
Salve e feche.

Aqui funciona perfeitamente e sem nenhum problema até o momento.
Apliquei a dica no Debian 9 ao 3º dia após o lançamento e está perfeito.


Mais uma vez, parabéns Gustavo.

[27] Comentário enviado por GustavoValerio em 20/07/2017 - 00:58h


[26] Comentário enviado por izaias em 18/07/2017 - 14:47h


[25] Comentário enviado por didism2 em 18/07/2017 - 14:22h

Apenas ressuscitando este tópico...

Estou usando o Debian 9 , lá não tem o apt.conf , o que pode ser feito ?


Se serve de parâmetro, apliquei a dica no Debian 9 e deu tudo certo.
O arquivo "apt.conf" será criado com o comando exposto na dica e é só colar a linha.
Salve e feche.

Aqui funciona perfeitamente e sem nenhum problema até o momento.
Apliquei a dica no Debian 9 ao 3º dia após o lançamento e está perfeito.


Mais uma vez, parabéns Gustavo.


Obrigado Sr Izaias.
É exatamente o que dissestes, se o "nano" não encontrar arquivo para "abrir", criará um.
Estou escrevendo uma 2 e 3 parte para este artigo, desta vez, focarei apenas na distro Debian / Ubuntu ao invés de citar a versão, pois os procedimentos acimas funcionam perfeitamente no Debian 8, 9 e 10 e em qualquer versão do Ubuntu que seja mais nova que a 12.04.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts