Melhorando o desempenho do Linux

Iniciado por xluisfernando, 18 de Fevereiro de 2015, 20:59

tópico anterior - próximo tópico

xluisfernando

http://helio.loureiro.eng.br/index.php/unix-live-free-or-die/14-clockjpg/193-melhorando-o-desempenho-do-linux

Estava eu pesquisando sobre formas de melhorar o desempenho do sistema operacional, para um hardware limitado como o do Eee PC, quando me deparei com essa dica do Hélio Loureiro.
Citar#chrt -r -p 1 1

De acordo com a dica, esse comando altera a prioridade do processo init para tempo real, modificando a política de escalonamento SCHED_RR ao processo ID 1 (init) com prioridade 1.

Não entendi bem o que isso significa, mas resolvi testar e fiquei estarrecido.

Antes, rodando o ubuntu 14.04.1LTS, com "unity2d" (ver dica http://www.diolinux.com.br/2014/09/como-habilitar-o-unity-2d-no-ubuntu.html), swappines definido em 15 e zram ativado, só com o sistema operacional, rodando com dropbox e calendar-indicator ao fundo, o sistema ficava bem pesado e o pobre processador atom N270, de 1.6GHz ficava sempre na casa dos 80%, nos dois núcleos.

Depois, imediatamente após a aplicação do comando, o sistema ficou absurdamente mais ágil e a requisição do processador caiu para 20% nos dois núcleos. Nem parece o mesmo netbook.

Ainda não percebi uma contra indicação ou efeito colateral. Tanto, que segui com a dica e adicionei o comando chrt -r -p 1 1 ao /etc/rc.local para que seja ativado com a inicialização.
Samsung Ativ Book i3 - Ubuntu 20.04LTS

galactus

 xluisfernando, continua tudo funcionando bem com o comando do tuto?

Você usa qual kernel? Mexeu em mais alguma coisa no sistema?

Testei aqui em algumas configurações. Tanto com processadores potentes quanto com do arco da velha.

Não fica bom com processadores antigos ou com pouca potência mais modificações para acelerar o sistema. É preferível usar outras coisas para otimizar o sistema nessas condições.

Agora, se tiver potência de sobra é outra coisa. Mas notei que pode dar problema com navegadores web com muitas abas abertas. Ficou instável em alguns casos.
BigLinux no Notebook  / Várias Distros Virtualizadas no PC.

xluisfernando

Estou usando o kernel 3.13 padrão do sistema e aparentemente ficou mais ágil. Não mexi em nada no sistema, além de instalar os pacotes zram-enabler, preload e prelink.

Reparei que alguns bugs gráficos no modo 2d, como uma linha branca que aparecia na divisão entre a janela maximizada e o painel superior, não acontece mais.

O tempo de resposta do unity, pela tecla super, também melhorou.

Já o firefox, tenho a impressão de que ficou mais lento.

Tenho que usar por mais um tempo para ter certeza, mas aparentemente, ficou melhor, para o Atom N270 com 2GB de RAM
Samsung Ativ Book i3 - Ubuntu 20.04LTS

Arthur Bernardes

Testei agora e não senti uma diferença assim tão grande, uso um Intel Core i5 + 4GB de RAM, estou com vontade de testar em um Intel Pentium 4.

xluisfernando

#4
Nos testes que fiz, reparei que o dash do unity ficou mais rápido, mas a abertura de janelas do firefox piorou. Percebi também uma dificuldade de rodar aplicativo java no firefox. Então, resolvi reverter para continuar o teste.

Achei outra dica interessante, que trata do tamanho dos pacotes trocados na conexão de internet e desabilitação do ipv6 http://pt.wingwit.com/Sistemas/ubuntu/211375.html

Samsung Ativ Book i3 - Ubuntu 20.04LTS

galactus

Eu usei esse comando em algumas versões do Ubuntu com kernel padrão, com o low-latency e o kernel Liquorix. Também testei com o Debian em vários processadores antigos tipo os Pentium 4 e Atlhon XP.  Testei também com AMD A10 e Core i7. Testei no Opensuse também.

Andei pesquisando também sobre esse comando e o motivo da maioria não indicar o uso dele.  Ele é uma das opções para modificar o escalonador dos processos e ainda por cima altera sua prioridade. Como esperado, ele muda o escalonador do processo para Real Time e sobe muito sua prioridade, assim podendo acabar prejudicando o sistema mais do que ajudando dependendo do uso.

Então parece que o sistema está mais rápido e fluido quando na verdade você está mandando "ele fazer as coisas de determinado processo mais rápido passando por cima dos outros"!

A gente não sente tanta diferença assim num processador potente fazendo pouca coisa, mas quando forcei a barra aqui no A10 e no i7, dá diferença maior.  Nos processadores fracos achei que piorou quando faço muitas coisas ao mesmo tempo, afinal eles já estão no limite.  Não prestou usar esse comando com um kernel ou sistema otimizado para velocidade.  É coisa demais para um processador fraco processar.

Não sei se você abriu o terminal com o htop enquanto usava esse comando.  Pode notar que o processador trabalha com picos maiores de porcentagem de uso no geral.  Principalmente quando você chama um aplicativo.  

Achei melhor usar o ulatency do que esse comando quanto a fluidez do sistema, aguenta muito mais carga com o ulatency mantendo a fluidez, principalmente no Debian que tem kernel para processadores antigos e com latência mais alta.  E se tenho um processador potente achei melhor os kerneis com o BFS + BFQ e outras paradinhas a mais para maior desempenho. Mas como eu disse, forçando a barra!  Para um usuário comum que não vai fazer muita coisa ao mesmo tempo, acho que vale a pena.

Realmente achei que os navegadores web não ficaram bem com esse comando. Com muitas abas abertas, o que acarreta um uso alto do processador, a coisa ficou instável. Meu Chromium chegou a fechar mais de uma vez "do nada"!

Então o lance é testar pra ver se serve para você. Ele ajuda sim, mas em casos específicos, não dá pra generalizar.  

Quanto a dica de desligar o IPV6, eu só desligo o IPV6 do navegador. No firefox é bem fácil de fazer. Não desligo do sistema todo pois o Ubuntu faz uso dele e pode dar pau em alguma coisa da rede. Por exemplo, um LTSP que instalamos deixou de funcionar quando desativo o ipv6 para todo o sistema.

Quanto as paradinhas  para turbinar a rede existem várias opções. Cada uma ajuda ou prejudica alguma coisa.  To sempre olhando isso também, achei uma configuração moderna que realmente deu diferença pra mim. Eu digo moderna pois o kernel e as nossas conexões vão mudando muito né. Então a gente acha muita coisa antiga que nem sempre tira tudo o que pode de uma coisa mais nova.
BigLinux no Notebook  / Várias Distros Virtualizadas no PC.

Arthur Bernardes

Eu uso geralmente Google Chrome, só uso Firefox para poder acessar meu Internet Banking. E agora o Firefox está inutilizável, qualquer entrada de teclado ele fecha.

Sampayu

Citação de: Arthur Bernardes online 03 de Março de 2015, 23:59
Eu uso geralmente Google Chrome, só uso Firefox para poder acessar meu Internet Banking. E agora o Firefox está inutilizável, qualquer entrada de teclado ele fecha.

Experimente instalar o SeaMonkey. Ele é mais estável que o Firefox.
Yuri Sucupira ("Sampayu")