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
Entre no universo Linux com Zenwalk!
Legenda em português para: The Pirate Bay Away from Keyboard
Touchpad no Slackware 14.1 - Configure botões e scroll
Mantenha seu Sistema Leve e Rápido com a Limpeza do APT!
Aprenda Linux com Daniel Robbins (tutorial em inglês)
Leitura recomendada
Menu clássico no Unity
Como configurar GMA500 no Ubuntu 9.10 com repositórios do próprio Karmic
Resolvendo problemas nos teclados USB e PS2
Telegram-desktop não abre [Resolvido]
LightDM - Como exibir imagem de usuário na tela de login do Debian 8.7.1 (MATE)
Comentários
Nenhum comentário foi encontrado.