Cambié mi gobernador de CPU CentOS 6 de bajo demanda (el predeterminado) a conservador y obtuve esto después de reiniciar el servicio cpufreq:
/etc/rc5.d/S13cpuspeed:línea 88:
/sys/devices/system/cpu/cpufreq/conservative/ignore_nice_load:El archivo o
directorio no existe
¿Entonces qué debo hacer? ¿Debo crear el archivo y, de ser así, qué debo poner allí?
Respuesta aceptada:
Para núcleos 3.x
La interfaz de CPUFreq ha cambiado en los núcleos más nuevos. Esto incluiría CentOS 6. Puede leer sobre la interfaz completa aquí en la documentación de Red Hat Enterprise Linux (RHEL) titulada:Capítulo 3. Infraestructura central y mecánica.
Específicamente la sección sobre configuración de CPUFreq. Estos son los pasos necesarios para configurarlo.
Controladores 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
cargar el controlador apropiado
$ modprobe acpi-cpufreq
instalar herramienta cpupower
$ yum install cpupowerutils
ver gobernadores
$ cpupower frequency-info --governors
analyzing CPU 0:
ondemand userspace performance
Por lo tanto, actualmente solo tenemos estos 3 gobernadores cargados:ondemand , espacio de usuario y rendimiento .
cargando gobernadores que faltan
Puede obtener una lista de todos los gobernadores que están disponibles así.
$ 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 módulos hasta ahora:
$ 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
confirmar qué gobernadores están cargados
$ cpupower frequency-info --governors
analyzing CPU 0:
powersave ondemand userspace performance
ver la política actual
$ 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
En el resultado anterior, puede ver que mi política actual es bajo demanda . Para ajustar la política y la velocidad, use este comando para hacerlo:
$ 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
confirmar nuevo gobernador
$ 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
También puede ajustar las frecuencias mínimas/máximas de CPU dentro de una política utilizando el cpupower frequency-set --min <freq> --max <freq>
. Consulte esta página para obtener más detalles sobre lo que puede hacer con cpupower frequency-set
.
hacer lo anterior sin cpupowerutils
Entonces, finalmente, si no tiene instalado el paquete cpupowerutils, puede interactuar con él de manera similar a como lo hizo en los kernels 2.6 anteriores. Principalmente haces eco de los valores en el sysfs
sistema de archivos.
por ejemplo
$ echo 360000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
Para núcleos 2.6
Puede leer sobre las diversas características de cpufreq en este sitio.
extracto del escalado de frecuencia de CPU en Linux con cpufreq
ignore_nice_load:este parámetro toma un valor de '0' o '1'. Cuando
se establece en '0' (predeterminado), todos los procesos se cuentan para el valor de 'utilización de cpu
'. Cuando se establece en '1', los procesos que se ejecutan con un valor
'agradable' no contarán (y por lo tanto se ignorarán) en el cálculo de uso general
. Esto es útil si está ejecutando un cálculo intensivo de CPU
en su computadora portátil que no le importa cuánto tiempo lleva
completarlo, ya que puede 'agradarlo' y evitar que participe en el
proceso de decisión de aumentar la frecuencia de su CPU. Para activar
esto, haga lo siguiente.
sudo sh -c "echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/ondemand/ignore_nice_load"
Pondría un 0 en este archivo ya que este debería ser el valor predeterminado. Si tiene algún proceso agradable de larga ejecución, lo cual dudo mucho, puede establecerlo en 1.