Ajuste Dinâmico do Governador de CPU no Linux

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

[ Hits: 1.179 ]

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

Diferença entre datas

Script - monitorando servidor

Script de Backup para FITA DAT usando "tar"

Compartilhamento de conexão

Script para Newsletters


  

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