Estoy usando una máquina Debian 8 amd64 para la evaluación comparativa. Durante la experimentación, me gustaría que la CPU funcione a una frecuencia fija (preferiblemente la máxima posible). Esto descartará la velocidad del reloj de la CPU como una fuente de variación en los resultados.
Después de leer un poco, parece que lo correcto es cambiar el regulador de la CPU a performance
, que se describe aquí en la documentación del kernel de Linux :
El "rendimiento" del gobernador CPUfreq establece la CPU estáticamente en la frecuencia más alta dentro de los límites de scaling_min_freq y scaling_max_freq.
Lamentablemente, no se proporcionan más detalles sobre scaling_min_freq
y scaling_max_freq
no. Esperemos que no importe, ya que la frecuencia de CPU utilizada es el valor máximo del intervalo.
Así que habilité este gobernador usando cpufreq-set:
$ cat / sys / devices / system / cpu / cpu * / cpufreq / scaling_governor actuación actuación actuación actuación
Y por si acaso, también desactivé el modo turbo boost en la BIOS:
$ cat / sys / devices / system / cpu / intel_pstate / no_turbo 1
Según la descripción anterior del regulador de rendimiento, no esperaría fluctuaciones en la velocidad del reloj de la CPU. Sin embargo, si corro repetidamente cpufreq-info
, veo que la velocidad del reloj fluctúa:
$ cpufreq-info | grep 'CPU actual fr' La frecuencia actual de la CPU es de 4.00 GHz. La frecuencia actual de la CPU es de 3.99 GHz. La frecuencia actual de la CPU es de 4.00 GHz. La frecuencia actual de la CPU es de 4.00 GHz. $ cpufreq-info | grep 'CPU actual fr' La frecuencia actual de la CPU es de 4.00 GHz. La frecuencia actual de la CPU es de 4.00 GHz. La frecuencia actual de la CPU es de 4.00 GHz. La frecuencia actual de la CPU es 3.96 GHz. $ cpufreq-info | grep 'CPU actual fr' La frecuencia actual de la CPU es de 4.00 GHz. La frecuencia actual de la CPU es de 4.00 GHz. La frecuencia actual de la CPU es de 4.00 GHz. La frecuencia actual de la CPU es 3.94 GHz. $ cpufreq-info | grep 'CPU actual fr' La frecuencia actual de la CPU es de 4.01 GHz. La frecuencia actual de la CPU es de 4.00 GHz. La frecuencia actual de la CPU es de 4.00 GHz. La frecuencia actual de la CPU es 3.98 GHz.
¿Es esta fluctuación debido al hardware, el BIOS, el núcleo o algún otro factor? ¿Hay alguna manera de configurar la frecuencia de la CPU de modo que no fluctúe en absoluto?