Debes setear el CPU para que sufra el mínimo recalientamiento durante las pruebas, esto con el objetivo de evitar falsos resultados en las pruebas causadas por aumentos o disminuciones de las frecuencias del CPU
Paso 1: Instala una distro sin modo gráfico (ubuntu server por ejemplo)
Paso 2: Configurala para que el CPU se recaliente al mínimo
Vamos a crear un servicio, que cuando levante, deshabilite el turbo boost, el hyperthreading y setee la frecuencia del CPU al mínimo.
1- Primero debes crear el fichero
nano /usr/bin/enable-profiling-mode.sh
Debes escribir lo siguiente:
# Apaga el turbo
/bin/sh -c "/usr/bin/echo 1 > /sys/devices/system/cpu/intel_pstate/no_turbo"
# Apaga el turbo (por si el de arriba no funciona)
wrmsr --all 0x1a0 0x4000850089
# Apaga el hyperthreading
echo off > /sys/devices/system/cpu/smt/control
# Setea la frecuencia al mínimo (en mi caso 800MHz)
sudo cpupower frequency-set -g performance
sudo cpupower frequency-set -u 800MHz
y para desactivar este modo:
nano /usr/bin/disable-profiling-mode.sh
Debes escribir lo siguiente:
/bin/sh -c "/usr/bin/echo 0 > /sys/devices/system/cpu/intel_pstate/no_turbo"
sudo wrmsr --all 0x1a0 0x850089
echo on > /sys/devices/system/cpu/smt/control
sudo cpupower frequency-set -g powersave
Luego debes crear el siguiente servicio:
nano /etc/systemd/system/cpu-profile-mode-on.service
Y escribir esto dentro:
[Unit]
Description=Prepare the machine for profiling
[Service]
ExecStart=/bin/sh /usr/bin/enable-profiling-mode.sh
ExecStop=/bin/sh /usr/bin/disable-profiling-mode.sh
RemainAfterExit=yes
[Install]
WantedBy=sysinit.target
Luego debes habilitar el servicio
systemctl enable /etc/systemd/system/cpu-profile-mode-on.service
y luego levantarlo
systemctl start /etc/systemd/system/cpu-profile-mode-on.service
Si ves el status:
Luego si ejecutas i7z deberías ver esto
No hay comentarios:
Publicar un comentario