cpudyn FAQ

cpudyn FAQ

Traducido por Alexandre González

1. ¿Cuáles son las arquitecturas soportadas?

Cualquiera soportada por los drivers cpufreq del kernel. Actualmente está probado en las arquitectura x86 (Pentium y AMD), PowerPC y ARM.

2. ¿Qué versión del kernel necesito?

Una de la serie 2.6 o 2.4 con el parche cpufreq, Alan Cox lo tiene incluido en su colección de parches. Si usas un kernel 2.6.0 o superior todo está listo, asegurate de que tienes seleccionado el driver cpufreq correcto, mira también #3. Si tienes un PowerPC (p.e. Apple), usas un kernel 2.4 y tienes problemas entonces actualizate al benh kernel, cpudynd funciona sin problemas con este kernel.

3. ¿Cómo puedo saber si tengo cpufreq activado en el kernel?

Mira si existe alguno de estos ficheros o directorios y el valor que devuelven con un cat:

  1. /proc/cpufreq (2.4 con nueva API o 2.5 con "vieja API activada") y/o
  2. cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor (nueva API en 2.6, mirar también #20)

Mira también que tienes activado el administrador de rendimiento y el ahorro de energía en el kernel. Si estubiera activo, debería ver:

# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
powersave userspace performance

cpudyn también suporta el aceleramiento de la CPU mediante ACPI, pero no funcionará en todas las máquinas. Es recomendable usar los drivers cpufreq, ellos funcionarán si el kernel soporta tu procesador. De todas formas he conseguido parches para el soporte ACPI que incluiré tan pronto como los haya probado (no he podido conseguir ningún ordenador que funcione correctamente con ACPI).

4. Los ficheros anteriores no existen. ¿Qué puedo hacer?

Debes recompilar el kernel (mirar pregunta #10) activado el soporte cpufreq.

5. Mi kernel soporta cpufreq pero todavía no funciona.

Algunos kernels distribuidos con SuSE no son compatibles con el estándar (de todas formas, hemos añadido control de potencia del CPU ACPI para esos kernels). Si no existe ninguno de los ficheros mencionados en la pregunta #3, cpudyn no puede hacer nada.

Por otra banda, mira si el aceleramiento CPU ACPI funciona arrancando manualmente el demonio cpudyn y leyendo sus mensajes.

6. ¿Por qué creaste cpudyn?

Porque tube varios portátiles, y siempre estaba luchando para conseguir bajar las revoluciones de los discos duros con scripts basado en hdparm (para APM y/o ACPI), y finalmente venci a la carencia del soporte para cambiar la frecuencia del procesador en los nuevos portátiles, pero al mismo tiempo explotar la velocidad del procesador cuando realmente era necesaria.

7. ¿Por qué tiene dos estados: ahorro de energía y rendimiento? Porqué no deja especificar otras frecuencias.

Basicamente porque no lo necesita. Tan sólo necesita esos dos estados, al máximo cuando lo necesita y al mínimo cuando no. cpudynd es muy bueno interactuando según la carga del PC.

8. ¿Por qué cpudynd no se inicia al arranque?

Si has echo un make install, cpudyn está instalado en /etc/init.d. Si quieres que arranque automáticamente al inicio, debes hacer los links correspondientes en /etc/rcX.d. Mira el editor SysV que te proporciona tu distribución.

Si usas debian, los links serán automáticamente creados si haces make install-debian

9. No tengo un portátil pero, ¿aún puedo utilizarlo?

Algunos ordenadores de sobremesa también pueden cambiar la frecuencia de la CPU, si lo que quieres es disminuir la temperatura del CPU, la respuesta es si.

También es útil si quieres disminuir las revoluciones de tu disco duro; cpudynd puede hacerlo con todos los discos IDE.

10. ¿Cómo puedo forzar la frecuencia de la CPU al máximo/mínimo con cpudynd?

Si envias las señal USR1, cpudynd pone el CPU a la velovidad máxima. USR2 a la mínima, HUP lo resetea a dinámico.

Ej:

   killall -USR1 cpudynd

pondrá el CPU a la máxima frecuencia.

11. ¿Cómo puedo saber cuál es mi frecuencia actual?

  cat /proc/cpufreq

o

 cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

en los kernels 2.6.

12. ¿Podría soportar diferentes frecuencias o parámetros dependiendo si el portátil está conectado a la corriente o está funcionando con la batería?

Sí. Lo haré una vez APM y ACPI soporten con la estabilidad sufieciente más portátiles. Actualmente, ninguna de las versiones del kernel soporta completamente mis portátiles, con la excepción del powerpc 2.4 benh branch para PowerPC.

13. Mi disco duro no se para. Compilé cpudynd con el DEBUG activado y me muestra actividad en los discos cada pocos segundos.

Observa los procesos que puedan estar escribiendo en el disco, especialmnete syslogd, cupsd, crond y exim.

14. Ejecuto cupds y cada 5 minutos me escribe en el HD.

Las últimas versiones de cupsd renuevan su propio certificado cada cinco minutos por defecto y lo escriben en /var/log/cupsd/certs/. Cambia ese período por defecto a uno mayor (por ejemlo, un día) en cpusd.conf:

RootCertDuration 86400

15. ¿Necesito instalar apmd si tengo cpudynd ejecutándose?

Si utilizas apmd sólo para bajar las revoluciones del HD (con la ayuda de hdparm), la respuesta es NO.

16. ¿Necesito tener instalado hdparm para poder bajar las revoluciones de los discos duros?

No, cpudynd tiene las mismas funciones de standby que hdparm incluidas.

17. ¿Puedo cambiar la frecuencia mínima y máxima?

NOTA, NOTA: Desde la versión 0.6.0 y con Linux 2.6 puede hacerlo con la opción -minf num, donde num está comprendido entre 0.0 y 1.0.

Si, haciendo un echo frequency_in_KHz a /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq o /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq respectivamente. Mira antes las frecuencias permitidas en /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies.

18. ¿Funciona con procesadores Hyperthreading (HT)?

Si, aunque los estados son recogidos de los dos procesadores juntos (p.e. la mediada del cpu idle/load estaría a medias si unos de los CPU está al 100%, cpudyn "vería" 0.5). Las versiones futuras, con optimismo la 0.5, soportarán completamente HT, SMP y el estado y frecuencia de cada procesador.

19. Si lanzo procesos de baja prioridad, la frecuencia de la CPU no se incrementa. Como puedo hacer que cpudyn también tenga en cuenta el uso del CPU para los procesos de baja prioridad?

Los procesos de baja prioridad son ignorados por defecto, no es un bug pero si una característica. Normalmente tu no vas a querer que el encoder Vorbis consuma mucho tu CPU, así que no lo hará ;-). Pero si tu quieres que estos procesos se ejecuten en modo rendimiento máximo, añade la opción "-nice" en la línea de comando y lo conseguirás.

20. Uso kernel 2.6 pero no tengo nada montado en /sys.

Deberías tener montado el nuevo sysfs en /sys. Así que crea el directorio /sys y añade la siguiente línea a /etc/fstab.

sysfs           /sys    sysfs   defaults        0       0