Difference between revisions of "CPU frequency scaling (Português)"

From ArchWiki
Jump to: navigation, search
(rm temporary i18n template)
Line 13: Line 13:
 
[[tr:Işlemci_frekansını_ölçekleme]]
 
[[tr:Işlemci_frekansını_ölçekleme]]
 
[[zh-CN:CPU Frequency Scaling]]
 
[[zh-CN:CPU Frequency Scaling]]
{{Temporary i18n}}
 
 
== Sumário ==
 
== Sumário ==
 
{{Pkg|cpufrequtils}} trata-se de um conjunto de utilitários projectados para assistir ao escalonamento da frequência do processador, tecnologia usada principalmente nos portáteis para permitir ao sistema operativo reduzir ou aumentar a frequência do processador consoante a necessidade actual, tornando o consumo energético mais eficiente.
 
{{Pkg|cpufrequtils}} trata-se de um conjunto de utilitários projectados para assistir ao escalonamento da frequência do processador, tecnologia usada principalmente nos portáteis para permitir ao sistema operativo reduzir ou aumentar a frequência do processador consoante a necessidade actual, tornando o consumo energético mais eficiente.

Revision as of 09:08, 17 June 2012

Sumário

cpufrequtils trata-se de um conjunto de utilitários projectados para assistir ao escalonamento da frequência do processador, tecnologia usada principalmente nos portáteis para permitir ao sistema operativo reduzir ou aumentar a frequência do processador consoante a necessidade actual, tornando o consumo energético mais eficiente.

Quando usado em conjunto com pm-utils, os utilizadores de portáteis dispõem de uma suite de gestão de energia completa.

Instalação

O pacote cpufrequtils está disponível no repositório. Official_Repositories_(Português)

Configuração

A configuração do escalonamento do CPU é um processo de 3 passos:

  1. Carregar o controlador apropriado para o CPU
  2. Carregar o regulador de frequência desejado
  3. Configurar e carregar o daemon de escalonamento de frequência (opcional)

Controlador da Frequência do CPU

Para que o escalonamento de frequência funcione, o sistema operativo precisa de saber os limites do(s) teu(s) CPU(s). Para isso, temos de carregar um módulo do kernel que permita ler e gerir as espeficicações do(s) teu(s) CPU(s).

Os portáteis e desktops mais modernos podem simplesmente usar o driver acpi-cpufreq, apesar de existirem outras opções: p4-clockmod, powernow-k6, powernow-k7, powernow-k8 e speedstep-centrino.

Para carregar o módulo do kernel manualmente:

# modprobe acpi-cpufreq

Para carregar automaticamente no arranque do sistema, adiciona o o driver respectivo ao array MODULES no ficheiro /etc/rc.conf. Por exemplo:

MODULES=( acpi-cpufreq vboxdrv fuse fglrx iwl3945 ... )

Uma vez carregado do driver apropriado, podes ver informação detalhado do(s) teu(s) CPU(s) executando:

$ cpufreq-info

Exemplo de output de cpufreq-info de um Intel Core 2 Duo T7200:

cpufrequtils 002: cpufreq-info (C) Dominik Brodowski 2004-2006
Report errors and bugs to linux@brodo.de, please.
analyzing CPU 0:
 driver: acpi-cpufreq
 CPUs which need to switch frequency at the same time: 0 1
 hardware limits: 996 MHz - 1.99 GHz
 available frequency steps: 1.99 GHz, 1.66 GHz, 1.33 GHz, 996 MHz
 available cpufreq governors: ondemand, performance
 current policy: frequency should be within 996 MHz and 1.99 GHz.
                 The governor "ondemand" may decide which speed to use
                 within this range.
 current CPU frequency is 996 MHz.
analyzing CPU 1:
 driver: acpi-cpufreq
 CPUs which need to switch frequency at the same time: 0 1
 hardware limits: 996 MHz - 1.99 GHz
 available frequency steps: 1.99 GHz, 1.66 GHz, 1.33 GHz, 996 MHz
 available cpufreq governors: ondemand, performance
 current policy: frequency should be within 996 MHz and 1.99 GHz.
                 The governor "ondemand" may decide which speed to use
                 within this range.
 current CPU frequency is 996 MHz.

Reguladores de Escalonamento

Os reguladores podem ser vistos como definições pré-configuradas de energia para o CPU. Estes reguladores têm de ser carregados como módulos do kernel para serem vistos por programas como o kpoewrsave ou o gnome-power-manager. Podes carregar tantos quantos quiseres, mas não pode haver mais do que um activos em simultâneo.

Reguladores disponíveis:

performance (omissão)
O regulador performance está embutido no kernel e corre o(s) CPU(s) à frequẽncia máxima.
cpufreq_ondemand (recomendado)
Aumenta/diminui, de forma dinâmica, a velocidade do(s) CPU(s) baseado na necessidade do sistema.
cpufreq_conservative
Semelhante a 'ondemand', mas mais conservador (as mudanças de frequência não são tão repentinas, mas mais baseadas em médias de utilização).
cpufreq_powersave
Corre o(s) CPU(s) à velocidade mais baixa.
cpufreq_userspace
Velocidades definidas pelo utilizador.

Adiciona os reguladores desejados ao array MODULES no ficheiro /etc/rc.conf:

MODULES=(acpi-cpufreq cpufreq_ondemand cpufreq_powersave vboxdrv fuse fglrx iwl3945 ... )

Em alternativa, podes definir manualmente o regulador executando (como root) o comando cpufreq-set, mas o estado não será salvo quando o sistema for reiniciado. Por exemplo:

# cpufreq-set -g ondemand

Executa cpufreq-set --help ou man cpufreq-set para mais informação.

Modo daemon

O cpufrequtils também instala um daemon que te permite definir o regulador desejado para velocidades mínimas/máximas no arranque sem a necessidade de ferramentas como kpowersave. Esta solução e perfeita para quem corre ambientes de trabalho leves, como Openbox.

Antes de iniciar o daemon, edita o ficheiro /etc/conf.d/cpufreq como root, seleccionando o regulador e definindo a velocidade mínima/máxima para o(s) teu(s) CPU(s), por exemplo:

#configuration for cpufreq control
# valid governors:
#  ondemand, performance, powersave,
#  conservative, userspace
governor="ondemand"

# valid suffixes: Hz, kHz (default), MHz, GHz, THz
min_freq="800MHz"
max_freq="2GHz"
Nota: Os valores min/max exactos para o(s) teu(s) CPU(s) podem ser verificados executando cpufreq-info depois de carregado o módulo referido no início (e.g. modprobe acpi-cpufreq). Contudo, estes valores são opcionais. Podes omiti-los completamente eliminando ou comentando as linhas respectivas, que tudo funcionará automaticamente, uma vez que o kernel consegue detectar os valores necessários.

Com o ficheiro de configuração tratado, podes agora iniciar o daemon com o seguinte comando:

# /etc/rc.d/cpufreq start

Para iniciar o daemon automaticamente no arranque, adiciona cpufreq ao array DAEMONS no ficheiro /etc/rc.conf, por exemplo:

DAEMONS=(syslog-ng hal cpufreq network netfs @alsa @crond @cupsd @fam @ntpd @sshd)

Outros recursos

Pm-utils - Plataforma de Hibernação/Suspensão providenciada pela comunidade OpenSUSE