Governador conservador do CentOS, bom erro

5

Mudei meu controlador de CPU do CentOS 6 de ondemand (o padrão) para conservador e obtive isso depois de reiniciar o serviço cpufreq:

/etc/rc5.d/S13cpuspeed: line 88: /sys/devices/system/cpu/cpufreq/conservative/ignore_nice_load: File or directory does not exist

Então, o que devo fazer? Devo criar o arquivo e, em caso afirmativo, o que devo colocar lá?

    
por NotFromBrooklyn 28.05.2013 / 17:18

1 resposta

8

Para os kernels 3.x

A interface para CPUFreq foi alterada nos novos kernels. Isso inclui o CentOS 6. Você pode ler sobre toda a interface aqui na documentação do Red Hat Enterprise Linux (RHEL) intitulada: Capítulo 3. Infraestrutura e Mecânica Básica .

Especificamente, a seção sobre Configuração da CPUFreq . Aqui estão os passos necessários para configurá-lo.

Drivers CPUFreq

$ ls -1 /lib/modules/'uname -r'/kernel/arch/x86/kernel/cpu/cpufreq/
acpi-cpufreq.ko
mperf.ko
p4-clockmod.ko
pcc-cpufreq.ko
powernow-k8.ko
speedstep-lib.ko

carregue o driver apropriado

$ modprobe acpi-cpufreq

instalar a ferramenta cpupower

$ yum install cpupowerutils

ver os governadores

$ cpupower frequency-info --governors
analyzing CPU 0:
ondemand userspace performance

Portanto, atualmente só temos esses 3 governors carregados: ondemand , userspace e performance .

governadores de carregamento que estão faltando

Você pode obter uma lista de todos os administradores disponíveis assim.

$ ls -1 /lib/modules/'uname -r'/kernel/drivers/cpufreq/
cpufreq_conservative.ko
cpufreq_ondemand.ko
cpufreq_powersave.ko
cpufreq_stats.ko
freq_table.ko

$ modprobe cpufreq_powersave

confirmar os módulos até agora:

$ lsmod |grep cpuf
cpufreq_powersave       1196  0 
cpufreq_ondemand       10544  8 
acpi_cpufreq            7763  0 
freq_table              4936  2 cpufreq_ondemand,acpi_cpufreq
mperf                   1557  1 acpi_cpufreq

confirma quais governadores são carregados

$ cpupower frequency-info --governors
analyzing CPU 0:
powersave ondemand userspace performance

visualizando a política atual

$ cpupower frequency-info
analyzing CPU 0:
  driver: acpi-cpufreq
  CPUs which run at the same hardware frequency: 0 1 2 3 4 5 6 7
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency: 10.0 us.
  hardware limits: 1.60 GHz - 3.20 GHz
  available frequency steps: 3.20 GHz, 3.20 GHz, 3.07 GHz, 2.93 GHz, 2.80 GHz, 2.67 GHz, 2.53 GHz, 2.40 GHz, 2.27 GHz, 2.13 GHz, 2.00 GHz, 1.87 GHz, 1.73 GHz, 1.60 GHz
  available cpufreq governors: powersave, ondemand, userspace, performance
  current policy: frequency should be within 1.60 GHz and 3.20 GHz.
                  The governor "ondemand" may decide which speed to use
                  within this range.
  current CPU frequency is 1.60 GHz (asserted by call to hardware).
  boost state support:
    Supported: yes
    Active: yes
    2500 MHz max turbo 4 active cores
    2500 MHz max turbo 3 active cores
    2500 MHz max turbo 2 active cores
    2600 MHz max turbo 1 active cores

Na saída acima, você pode ver que minha política atual é ondemand . Para ajustar a política e a velocidade, use este comando para fazer isso:

$ cpupower frequency-set --governor performance
Setting cpu: 0
Setting cpu: 1
Setting cpu: 2
Setting cpu: 3
Setting cpu: 4
Setting cpu: 5
Setting cpu: 6
Setting cpu: 7

confirma novo governador

$ cpupower frequency-info
analyzing CPU 0:
  driver: acpi-cpufreq
  CPUs which run at the same hardware frequency: 0 1 2 3 4 5 6 7
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency: 10.0 us.
  hardware limits: 1.60 GHz - 3.20 GHz
  available frequency steps: 3.20 GHz, 3.20 GHz, 3.07 GHz, 2.93 GHz, 2.80 GHz, 2.67 GHz, 2.53 GHz, 2.40 GHz, 2.27 GHz, 2.13 GHz, 2.00 GHz, 1.87 GHz, 1.73 GHz, 1.60 GHz
  available cpufreq governors: powersave, ondemand, userspace, performance
  current policy: frequency should be within 1.60 GHz and 3.20 GHz.
                  The governor "performance" may decide which speed to use
                  within this range.
  current CPU frequency is 3.20 GHz (asserted by call to hardware).
  boost state support:
    Supported: yes
    Active: yes
    2500 MHz max turbo 4 active cores
    2500 MHz max turbo 3 active cores
    2500 MHz max turbo 2 active cores
    2600 MHz max turbo 1 active cores

Você também pode ajustar as freqüências mínimas / máximas da CPU em uma política usando cpupower frequency-set --min <freq> --max <freq> . Veja esta página para mais detalhes sobre o que você pode fazer com cpupower frequency-set .

fazendo o acima sem cpupowerutils

Então, finalmente, se você não tem o pacote cpupowerutils instalado, você pode interagir com ele da mesma maneira que você fez nos kernels 2.6 anteriores. Principalmente você ecoa valores no sistema de arquivos sysfs .

por exemplo

$ echo 360000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq

Para kernels 2.6

Você pode ler sobre os vários recursos do cpufreq neste site .

trecho da escala de freqüência da CPU no Linux com cpufreq

ignore_nice_load - This parameter takes a value of '0' or '1'. When set to '0' (its default), all processes are counted towards the 'cpu utilization' value. When set to '1', the processes that are run with a 'nice' value will not count (and thus be ignored) in the overall usage calculation. This is useful if you are running a CPU intensive calculation on your laptop that you do not care how long it takes to complete as you can 'nice' it and prevent it from taking part in the deciding process of whether to increase your CPU frequency. To turn this on do the following.

sudo sh -c "echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/ondemand/ignore_nice_load"

Eu colocaria um 0 nesse arquivo, pois esse deveria ser o padrão. Se você tem algum processo de execução longa, o que duvido muito, você pode configurá-lo para 1.

    
por 30.05.2013 / 05:41