Neste post vou mostrar a você as configurações para otimizar meu PC de trabalho com Debian.
Após fazer a instalação mínima do Gnome, agora vamos para os ajustes finos do sistema.
Otimização do sistema Debian
Pós instalação
Primeira coisa que eu fiz após instalar o Debian 13 ou 12, foi instalar o ambiente gráfico Gnome com o mínimo de pacotes.
Depois instalei os seguintes pacotes:
sudo apt install neofetch --no-install-recommends
sudo apt install virt-manager libvirt-daemon-system qemu-system bridge-utils gnome-settings-daemon htop iotop unattended-upgrades cups cups-client cups-filters system-config-printer gparted vim --no-install-recommends dbus-x11 libnotify-bin firmware-misc-nonfree
Como infelizmente precisei fazer o downgrade, voltando a versão para a 12 (bookworm), optei em utilizar mais aplicativos via flatpak.
Enquanto no 13 eu instalei o:
- evolution,
- visualizador de imagens,
- documentos,
- arquivos compactados,
- gnome-boxes,
- remmina,
Na versão 12 optei em rodar todos eles via flatpak.
Os navegadores Google Chrome e Brave já havia instalado via flatpak em ambos os sistemas.
Ao finalizar a instalação desses caras e o gerenciador de permissões do flatpak (flatseal), dei inicio as configurações para otimizar o sistema.
Otimizando o Debian para trabalho!
As otimizações que busco são para tornar o boot do sistema mais rápido, melhorar o acesso a meu disco rígido que tem como função backup e,
Otimizar a memória para eu poder lidar melhor com as máquinas virtuais e meu dia a dia no trabalho (navegador, cliente de email, acesso remoto..).
Além de deixar a máquina o mais estável possível.
Trocando Wayland por Xorg
Para fazer a alteração de Wayland para Xorg tanto no Debian 12 quanto no 13, basta acessar o arquivo daemon.conf do gdm e habilitar a opção “WaylandEnable=false”.
sudo nano /etc/gdm3/daemon.conf
Basta descomentar a linha. Se não houver a opção WaylandEnable=false, basta inseri-la.
Feito isso, salve o arquivo e reinicie a máquina
Ajustando o Network Manager
Após instalar o ambiente gráfico e o Network Manager, precisamos desligar o networking do systemd para não haver conflitos.
Também precisamos fazer o ajuste acima para podermos lidar com a rede direto do ambiente gráfico.
Primeiro eu fiz
sudo systemctl disable networking
Depois
rm /etc/network/interfaces
Agora basta reiniciar o Pc e já estamos com o network manager funcionando completamente.
Preload
Para melhorar a abertura de aplicativos, mesmo tendo um SSD, instalei o Preload.
sudo apt install preload
Depois de instalado, vamos a configuração do arquivo sudo nano /etc/preload.conf
[model]
cycle = 30
mempurge = 0
memfree = 10
memcached = 70
processes = 50
usecorrelation = true
Depois de ajustar o arquivo, basta reiniciar o serviço sudo systemctl restart preload
Agora é aguardar uns dias e esperar o preload fazer sua “mágica”.
Swap, ajustes no fstab e no sysctl
Abaixo, crio um arquivo de 8GB para servir como swap
sudo fallocate -l 8G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
Adicionando no /etc/fstab
echo "/swapfile none swap sw 0 0" | sudo tee -a /etc/fstab
No sysctl, adicionei os seguintes parâmetros:
vm.swappiness=1
vm.vfs_cache_pressure=50
vm.dirty_background_bytes=16777216
vm.dirty_background_ratio=5
vm.dirty_bytes=50331648
net.core.somaxconn=65535 # Aumenta o limite de conexões de rede (útil para NFS)
net.ipv4.tcp_fin_timeout=15 # Reduz o tempo de espera para fechar conexões
net.ipv4.tcp_rmem=4096 87380 8388608
net.ipv4.tcp_wmem=4096 65536 8388608
sunrpc.tcp_slot_table_entries=128
sunrpc.udp_slot_table_entries=128
fs.nfs.nlm_tcpport=0
fs.nfs.nlm_udpport=0
Basta inserir os códigos acima no arquivo /etc/sysctl.conf
e depois reiniciar a máquina.
Zram e tmpfs
Fui convencido a dar uma chance para o Zram e tmpfs para melhorar o uso da minha RAM.
sudo apt install zram-tools
sudo nano /etc/default/zramswap
Fiz as seguintes alterações
- ALGO=zstd (para melhor compressão)
- SIZE=4096 (Deixei 4GB dos 16GB que tenho)
Após os ajustes reiniciei o serviço sudo systemctl restart zramswap.service
. Agora vamos para a configuração do tmpfs
No /etc/fstab, adicionei os seguintes pontos de montagem
tmpfs /tmp tmpfs defaults,noatime,mode=1777,size=1G 0 0
tmpfs /var/tmp tmpfs defaults,noatime,mode=1777,size=512M 0 0
tmpfs /run/libvirt tmpfs defaults,noatime,mode=0755,uid=libvirt-qemu,gid=libvirt-qemu,size=256M 0 0
A pasta /tmp defini 1GB, a /var/tmp 512MB e a /run/libvirt (para melhorar as máquinas virtuais em uso), defini 256MB
Vamos ver se esses ajustes dão um up no velinho aqui
Virtualização
Para dar suporte na rede Microsoft, infelizmente eu preciso ter uma máquina com Windows instalada.
Após a instalação, configuro as pastas de rede para montar após o boot
10.10.10.4:/testes /mnt/dados nfs noauto,x-systemd.automount,x-systemd.device-timeout=5s 0 0
10.10.10.4:/Music /mnt/music nfs noauto,x-systemd.automount,x-systemd.device-timeout=5s 0 0
10.10.10.4:/VMs /mnt/vms nfs noauto,x-systemd.automount,x-systemd.device-timeout=5s 0 0
Além de instalar o pacote nfs
sudo apt install nfs-common
Agora abro o Virt Manager para configurar o acesso ao armazenamento das máquinas virtuais
virt-manager
Dento do aplicativo, clico com o botão direito em “QEMU/KVM Sessão do usuário” e escolho Detalhes.
Vou em armazenamento e configuro o diretório onde está os arquivos das máquinas virtuais.
Feito isso, agora é montar a rede brigde. Após descobrir o nome da interface com o comando ip link
, rodo os seguintes comandos:
sudo nmcli con add type bridge ifname br0 con-name bridge-br0
sudo nmcli con add type ethernet ifname enp4s0 master br0 con-name bridge-slave-enp4s0
sudo nmcli con mod bridge-br0 ipv4.method auto
sudo nmcli con up bridge-br0
Para funcionar perfeitamente, precisei acessar o editor de conexões do NetworkManager (nm-connection-editor) e vincular corretamente o dispositivo.
Também, editei o NetworkManager.conf
sudo nano /etc/NetworkManager/NetworkManager.conf
Na seção [ifupdown], defina:
[ifupdown]
managed=true
Reiniciei o NetworkManager:
sudo systemctl restart NetworkManager
Após isso tanto a rede do host quanto dos convidados passaram a funcionar!
Fiz uma parte 2 dessas otimizações que você pode conferir aqui. Nela eu exploro algumas opções configuradas na distribuição CachyOS.
EarlyOOM
Quem nunca conseguiu travar uma máquina Linux a ponto de precisar reiniciá-la?
Para evitar isso, estou instalando o earlyoom em meu Debian.
Ao invés de fazer manualmente, você pode usar a belíssima ferramenta LinuxToys, que implementa esta solução com alguns cliques do mouse.
Eu faço manualmente para fins de aprendizado
sudo apt install earlyoom
wget https://raw.githubusercontent.com/psygreg/linuxtoys/refs/heads/master/resources/earlyoom
sudo cp -f earlyoom /etc/default/
rm earlyoom
sudo systemctl enable --now earlyoom
Corrigindo timeout do Gnome
As vezes ao abrir algum programa no Gnome, ele em pouco tempo te dá a mensagem “Esperar ou Forçar Saída”
Com o comando abaixo, você dá mais um tempo para o programa processar.
sudo gsettings set org.gnome.mutter check-alive-timeout 20000