Melhorando a performance do Fedora Workstation 32 no meu notebook

leandroramos
editado February 2020 em Workstation

Atenção! Este é um relato de uso, e não um tutorial

Começando antes do começo

  • O artigo não é um tutorial do que você deve fazer com seu Fedora. É sobre o meu uso, no meu notebook.
  • Usar GNOME Shell num notebook tão fraco é proposital. Não dá para perceber muita coisa usando uma máquina que roda qualquer coisa.
  • Usar ambiente desktop "mais leve" não melhora tanto minha experiência na máquina do teste. Coisas que não faço aqui também não consigo fazer com Openbox ou i3WM.
  • Se você for fazer algo desse artigo, escolha o que for melhor para você. São vários itens e você, provavelmente, não precisa de todos.
  • Se sua máquina não for extremamente fraca, provavelmente você não precisa fazer nada do que segue neste artigo.

Meu hardware

  • Modelo: ASUS Vivobook X202
  • Processador: Intel Celeron 847 Dual Core de 1.1GHz
  • RAM: 2GB DDR3
  • Armazenamento: SSD M2 de 128GB
  • Placa de vídeo: Intel® HD Graphics 2000 (SNB GT1)

Usando o GNOME Tweaks

Eu uso a Ferramenta de Ajustes do GNOME para otimizar algumas coisas sem ter que recorrer à linha de comando com o gsettings.
sudo dnf install gnome-tweaks

Desabilitando as animações

Apesar de gostar das animações, elas atrasam o meu uso do sistema.

Removendo programas da inicialização do GNOME

Eu não preciso do Remmina iniciando junto com o sistema, então posso remover sem problemas.

Espaços de trabalho estáticos

O GNOME Shell tem espaços de trabalho dinâmicos. Sempre que você usa um novo espaço de trabalho, o sistema deixa mais um, vazio, disponível. E isso custa recursos computacionais que podem fazer diferença na sua máquina.

Com o GNOME Tweaks podemos fixar o número de espaços de trabalho e deixar como estáticos.

O GNOME Shell deixará de alocar novos espaços de trabalho automaticamente

Desativando extensões

A única extensão que eu uso é a Appindicators. O resto, desativo.

RAM, cache e swap

O assunto “uso de RAM versus responsividade” é complexo (e normalmente acompanhado de tretas), merece séries de posts somente sobre isso.
Resumindo de forma bastante grosseira, o sistema usa bastante swap quando tem pouca memória RAM (é o meu caso), ou quando você tem mais RAM e o sistema está configurado para usar swap com mais frequência. O sistema armazena algumas coisas numa área de cache da RAM para acessar mais rapidamente, e esvazia essa área se a RAM for necessária para alguma coisa mais importante. Isso foi um resumo muito grosseiro, não use como referência.
Vou fazer duas coisas:

  • Diminuir a taxa de uso de swap para que o sistema use mais RAM antes de recorrer ao disco (onde, nos casos padrão, fica a swap). Se seu disco for mecânico, o desempenho piora muito quando o sistema usa swap com muita frequência. No meu caso, com SSD, eu não noto tanta perda.
  • Diminuir o uso do cache da memória para que ela fique mais disponível aos programas. Se você for fazer uma operação demorada, como uma descompactação, o sistema deixa parte dos dados no cache da RAM e outras coisas acabam indo para a área de troca (e isso pode ser parte de um programa que você está usando) e você sente a perda de performance.

Falei muito, vamos lá. Reduzindo o acesso ao swap (o padrão do Fedora é 60. Quanto menor o número, menor o acesso):
sudo sysctl vm.swappiness=5

Reduzindo o uso do cache (o padrão do Fedora é 100):
sudo sysctl vm.vfs_cache_pressure=50

Tornando as mudanças permanentes editando o arquivo /etc/sysctl.d/99-sysctl.conf
sudo nano /etc/sysctl.d/99-sysctl.conf
Adicionando o conteúdo abaixo ao final do arquivo
vm.swappiness=5
vm.vfs_cache_pressure=50

Usando extensões que suspendem abas do navegador

Normalmente usamos muitas abas no navegador. No meu caso, que é extremo, suspender abas não usadas economiza bastante da máquina. Eu uso a extensão Tab Suspender no Firefox, mas também conheço a The Great Suspender, para o Chromium/Chrome.

Melhorando um pouco mais, mas perdendo mais recursos

As mudanças abaixo servem para que o sistema fique mais responsivo, mas pode sacrificar algumas comodidades que o GNOME Shell traz por padrão. Use se sua máquina realmente precisar, ou se você realmente não usa os recursos.
Abra o programa de configurações do GNOME (GNOME Settings)

Desativando a pesquisa

O GNOME Shell faz pesquisas por arquivos, eventos no calendário, programas na GNOME Software, no terminal, além da busca padrão pelos programas instalados.

Vejam uma pesquisa mostrando o programa, configurações e mapa de caracteres para o termo buscado.

Vejam uma pesquisa retornando programas disponíveis na GNOME Software e no histórico do navegador.

Desativar a pesquisa deixa o sistema bem mais leve, respondendo mais rapidamente. Avalie suas necessidades e decida se vale a pena (eu só faço porque minha máquina é muito, muito fraca).

Desativando o serviço de localização

Eu não uso o recurso de localização, então deixo desativado.

Desativando o histórico de arquivos

O GNOME Shell armazena o histórico dos arquivos utilizados para colocar nos itens recentes, em buscas. É um recurso que eu não uso.

Desativando o relatório automático de erros

Coloque o informe de erros no modo manual, assim você informa se quiser, quando puder.

Um pouco mais de otimização (perdendo mais recursos)

Desativando as atualizações automáticas

Nas opções do GNOME Software, em "Preferências de atualizações", eu desativo qualquer atualização automática ou notificação de atualização.

Desinstalando loja de software

Na vida real, eu não uso a GNOME Software, mantenho meus programas RPM e Flatpak pelo terminal. Desinstalando a GNOME Software eu deixo de usar recursos, pois o programa mantém um serviço rodando o tempo todo no sistema.
Importante: Não faça se você não sabe manter os programas pelo terminal, especialmente se sua máquina não não for tão fraca quanto a minha.
sudo dnf remove gnome-software

Desinstalando o Anaconda

Todas as spins do Fedora mantém o Anaconda instalado no sistema. Eu sempre o removi.
sudo dnf remove anaconda

Desabilitando os serviços de Bluetooth e impressão

Eu não tenho adaptador Bluetooth no notebook do teste, e não tenho (e não uso) impressora. São mais serviços que posso deixar de executar.

sudo systemctl mask bluetooth.service bluetooth.target cups-browsed.service cups.path cups.service cups.socket

Removendo coisas que não uso no GNOME

Com as mudanças acima, meu sistema está rodando muito melhor no meu notebook. Mas ainda posso remover programas do GNOME que eu não uso, caso julgue necessário. Mas só farei isso se, além de não usar o programa, ele também mantiver um serviço rodando o tempo todo.

Darei um exemplo de limpeza dos apps do GNOME abaixo:

Removendo os programas que não uso

sudo dnf remove cheese \
evolution \
evolution-ews \
evolution-help \
gfbgraph \
gnome-boxes \
gnome-calendar \
gnome-contacts \
gnome-dictionary \
gnome-documents \
gnome-getting-started-docs \
gnome-initial-setup \
gnome-maps \
gnome-online-miners \
gnome-photos \
gnome-software \
gnome-user-docs \
gnome-user-share \
gnome-video-effects \
gnome-weather \
simple-scan \
totem \
tracker-miners \
yelp

Garantindo que os programas que uso estejam instalados

O comando acima remove dependências e preciso garantir que algumas coisas estejam instaladas no meu GNOME:

sudo dnf install eog \
evince \
evolution-data-server \
flatpak \
gdm \
gnome-keyring \
gnome-menus \
gnome-screenshot \
gnome-shell \
gnome-terminal \
gnome-tweaks \
nautilus \
redhat-menus

Para quem gosta de ver o consumo inicial

Antes:

Depois:

Considerações

Nenhum dos itens acima é necessário se sua máquina não é tão fraca quanto a minha. Se for reproduzir algo, faça com cuidado, isso não é um manual.
Muitas pessoas me perguntam como faço para usar o GNOME nessa maquininha e resolvi mostrar, mas eu sei onde estou mexendo e os motivos também, e tem mais coisas que eu desabilito além das que mostrei. Se não souber o que está fazendo, por favor (reforço), não faça.

Até a próxima, pessoal.

Comentários

  • Leandro essa mudanças podem ser aplicadas ao Fedora 31 Workstation XFCE, surtiriam efeito nessa DE...?

  • @Hp2501 As partes que não envolvem o GNOME, sim. Funcionam em qualquer ambiente desktop.

  • Excelente, leandroramos!
    Muito obrigado pelas dicas
    Tem um extra que sempre faço aqui, que é habilitar ZRAM. Aumenta levemente o processamento (imperceptível na maioria dos casos), mas da uma aliviada na RAM sem deixar o PC uma carroça kkkkkk

    Abraço

  • Obrigado, @joseafga, vou testar o ZRAM pra ver como fica.

  • Muito bom , meus parabéns , vou fazer a limpa no meu gnome

  • Digite seu comentário> @Danniel disse:

    Muito bom , meus parabéns , vou fazer a limpa no meu gnome

    Obrigado, @Danniel