Como desativar a economia de energia no Gentoo (Systemd, Wi-Fi, USB e SSH)
Quando um servidor ou máquina remota fica muito tempo ocioso, recursos de economia de energia podem desligar interfaces de rede ou suspender o sistema, resultando na perda de acesso remoto. Esta dica demonstra como desabilitar essas funções no Gentoo
Linux com systemd, abordando a suspensão do sistema, a economia de energia de adaptadores Wi-Fi, o autosuspend de portas USB e o timeout de conexões SSH.
1. Desabilitar suspensão e hibernação no Systemd
O systemd pode suspender a máquina por inatividade. Para evitar isso, mascare os alvos correspondentes:
sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target
2. Desabilitar economia de energia do Wi-Fi
Adaptadores sem fio possuem protocolos próprios que podem causar quedas ou aumento de latência. Para desativar via regra do udev (requer o pacote
net-wireless/iw instalado):
cat << 'EOF' | sudo tee /etc/udev/rules.d/70-wifi-powersave.rules
ACTION=="add", SUBSYSTEM=="net", ENV{DEVTYPE}=="wlan", RUN+="/usr/sbin/iw dev %k set power_save off"
EOF
sudo udevadm control --reload-rules && sudo udevadm trigger
Para verificar se a regra foi aplicada corretamente:
for dev in $(iw dev | awk '/Interface/ {print $2}'); do echo -n "Interface $dev: "; sudo iw dev $dev get power_save; done
3. Evitar queda de conexões remotas SSH
Roteadores e firewalls frequentemente encerram conexões TCP ociosas. Configure o servidor SSH para enviar pacotes "keep-alive":
cat << 'EOF' | sudo tee /etc/ssh/sshd_config.d/99-keepalive.conf
ClientAliveInterval 60
ClientAliveCountMax 3
EOF
sudo systemctl restart sshd
4. Desabilitar o Autosuspend do USB (Regra Udev e Serviço)
O kernel pode cortar a energia de dispositivos USB inativos, o que derruba adaptadores Wi-Fi externos. Crie uma regra udev para os novos dispositivos conectados:
cat << 'EOF' | sudo tee /etc/udev/rules.d/50-usb-power.rules
ACTION=="add", SUBSYSTEM=="usb", TEST=="power/control", ATTR{power/control}="on"
EOF
sudo udevadm control --reload-rules && sudo udevadm trigger
Como os hubs e controladores USB primários da placa-mãe podem iniciar no modo
auto antes das regras surtirem efeito completo, crie um serviço
oneshot no systemd para forçar o estado
on em todos os dispositivos durante o boot:
cat << 'EOF' | sudo tee /etc/systemd/system/disable-usb-autosuspend.service
[Unit]
Description=Desabilitar autosuspend do USB
After=multi-user.target
[Service]
Type=oneshot
ExecStart=/bin/sh -c 'for f in /sys/bus/usb/devices/*/power/control; do echo on > "$f"; done'
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable --now disable-usb-autosuspend.service
Para auditar o status de energia de todas as portas USB e confirmar o resultado:
grep . /sys/bus/usb/devices/*/power/control
Dica feita com ajuda da Gemini.
Outras dicas deste autor
Validar módulo do VirtualBox sem desabilitar o Secure Boot
Como mudar o nome do computador no Slackware
Como restaurar o Ubuntu (removendo suas variações) 11.10 Oneiric
"Arczando" o Debian
Perdeu a senha de root do MySQL? Recupere agora
Leitura recomendada
sudo: /usr/bin/sudo deve ter como dono o uid 0 e tem definido o bit setuid [Resolvido]
Compartilhamento Fácil com Linux Mint 20 MATE Edition
Olha que Conky "bunitinhu" pra usar no seu sistema
Como alterar interpretador de comandos padrão do usuário no Ubuntu 18.04 (do SH para BASH)
O que fazer após instalar Linux Mint 21
Comentários
Nenhum comentário foi encontrado.