Ajuste Dinâmico do Governador de CPU no Linux

Publicado por Iago Lira (última atualização em 20/05/2023)

[ Hits: 1.183 ]

Homepage: https://notabug.org/iagolira/

Download cpu_freq.sh




Este script Bash é uma ferramenta útil que permite ao usuário ajustar dinamicamente o governador de CPU no Linux. Ele lista automaticamente todos os governadores disponíveis no sistema e solicita que o usuário selecione um. Em seguida, aplica o governador escolhido a todos os núcleos de CPU disponíveis no sistema.

O script começa lendo a lista de governadores disponíveis a partir do arquivo /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors e exibe essas opções para o usuário. O usuário pode então selecionar um governador digitando o número correspondente.

Depois que a seleção é feita, o script verifica a validade da escolha do usuário. Se a escolha for inválida (por exemplo, se o usuário digitou um número que não corresponde a nenhuma das opções), o script imprimirá uma mensagem de erro e terminará.

Se a escolha for válida, o script usará o comando cpufreq-set para aplicar o governador escolhido a cada CPU no sistema. Ele faz isso usando um loop for que itera sobre o número de CPUs no sistema, que é determinado usando o comando nproc.

Por fim, o script imprime uma mensagem informando ao usuário que o modo de CPU foi ajustado.

Este script é uma ótima ferramenta para usuários que desejam otimizar o desempenho de seu sistema ou economizar energia ajustando o governador de CPU. Por favor, note que este script precisa ser executado com privilégios de root para funcionar corretamente.

Como usar:

1. Salve o script em um arquivo, por exemplo, ajuste_cpu.sh.
2. Torne o script executável com o comando chmod +x ajuste_cpu.sh.
3. Execute o script com privilégios de root, por exemplo, sudo ./ajuste_cpu.sh.
4. Siga as instruções na tela para escolher um governador de CPU.

Obs.: Foi testado no Linux Mint 21.1 em 14 de maio de 2023

  



Esconder código-fonte

#!/bin/bash

# Obtenha a lista de governadores disponíveis
governors=$(cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors)

# Divida a lista de governadores em um array
IFS=' ' read -r -a governors_array <<< "$governors"

# Mostre o menu de opções
echo "Escolha o modo de CPU: "
for i in "${!governors_array[@]}"; do 
  echo "$((i+1)). ${governors_array[$i]}"
done
read -p "Digite o número correspondente ao modo desejado: " mode

# Verifique se a escolha do usuário é válida
if [ "$mode" -le 0 ] || [ "$mode" -gt "${#governors_array[@]}" ]; then
  echo "Opção inválida!"
  exit 1
fi

# Obtenha o governador escolhido
governor="${governors_array[$((mode-1))]}"

# Obtenha o número de CPUs
num_cpus=$(nproc)

# Aplique o governador escolhido a cada CPU
for ((i=0; i<num_cpus; i++))
do
 sudo cpufreq-set -c "$i" -g "$governor"
done

echo "O modo de CPU foi ajustado para $governor."

Scripts recomendados

Verifica Falha Humana de Segurança em e-mail (usada por SPAMERS)

Firewall básico

Cálculo de intervalo de tempo

Monitoração e coleta de dados de performance de servidores GNU/Linux

Shell Script Avançado


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts