33 votes

Désactiver Intel Turbo Boost dans ubuntu

Je suis nouveau sur Ubuntu et je veux désactiver le turbo boost. J'ai essayé avec cpufreq mais je n'arrive pas à le faire fonctionner. y a-t-il un autre moyen de le faire ?

Sous Windows, il suffisait de modifier la vitesse du processeur de 100 à 99.

59voto

Doug Smythies Points 12803

Si votre système utilise le pilote de mise à l'échelle de la fréquence intel_pstate :

$ cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_driver
intel_pstate
intel_pstate
intel_pstate
intel_pstate
intel_pstate
intel_pstate
intel_pstate
intel_pstate

Vous pouvez alors vous renseigner sur l'état d'activation ou de désactivation du turbo :

$ cat /sys/devices/system/cpu/intel_pstate/no_turbo
0

Où 0 signifie que le turbo est activé et 1 signifie qu'il est désactivé. Et vous pouvez le changer en écrivant (avec sudo) au même endroit.

$ echo "1" | sudo tee /sys/devices/system/cpu/intel_pstate/no_turbo
1

Je ne me souviens jamais de l'emplacement ou de la façon de faire le truc du `tee' correctement, donc je préfère que les scripts soient exécutés en tant que sudo :

$ cat set_cpu_turbo_off
#! /bin/bash
echo "1" > /sys/devices/system/cpu/intel_pstate/no_turbo

$ cat set_cpu_turbo_on
#! /bin/bash
echo "0" > /sys/devices/system/cpu/intel_pstate/no_turbo

26voto

Maythux Points 77506

Pour lire l'état actuel du Turbo Boost, nous devons installer le programme msr-tools.

sudo apt-get install msr-tools

Pour savoir si la fonction Turbo Boost est désactivée, exécutez :

rdmsr -pi 0x1a0 -f 38:38

1=disabled
0=enabled

Remplacez i par votre nombre de cœurs


NOte : Si vous obtenez l'erreur suivante :

rdmsr:open: No such file or directory

puis chargez le module "msr" par la commande suivante :

sudo modprobe msr

Pour désactiver la fonction Turbo Boost, on peut définir le registre MSR 0x1a0 entier à 0x4000850089, comme ici :

wrmsr -pC 0x1a0 0x4000850089

Où C se réfère à un numéro de noyau particulier

Vous pouvez obtenir ces chiffres en exécutant

cat /proc/cpuinfo | grep processor

ensuite, une fois que vous connaissez vos nombres, vous devez exécuter la commande ci-dessus pour chaque noyau. dans votre cas, les nombres seraient 0 et 1 donc vous devez faire

wrmsr -p0 0x1a0 0x4000850089

wrmsr -p1 0x1a0 0x4000850089

Solutions pour ce blog


En http://notepad2.blogspot.com/2014/11/a-script-pour-démarrer-cpu-turbo-intel.html

Un script pour désactiver/activer le turbo boost.

Le script suivant peut être utilisé pour activer/désactiver le turbo boost :

#!/bin/bash

if [[ -z $(which rdmsr) ]]; then
    echo "msr-tools is not installed. Run 'sudo apt-get install msr-tools' to install it." >&2
    exit 1
fi

if [[ ! -z $1 && $1 != "enable" && $1 != "disable" ]]; then
    echo "Invalid argument: $1" >&2
    echo ""
    echo "Usage: $(basename $0) [disable|enable]"
    exit 1
fi

cores=$(cat /proc/cpuinfo | grep processor | awk '{print $3}')
for core in $cores; do
    if [[ $1 == "disable" ]]; then
        sudo wrmsr -p${core} 0x1a0 0x4000850089
    fi
    if [[ $1 == "enable" ]]; then
        sudo wrmsr -p${core} 0x1a0 0x850089
    fi
    state=$(sudo rdmsr -p${core} 0x1a0 -f 38:38)
    if [[ $state -eq 1 ]]; then
        echo "core ${core}: disabled"
    else
        echo "core ${core}: enabled"
    fi
done

sauvegarder ce fichier dans un fichier appelé turbo-boost.sh

Utilisation : Vous pouvez copier le script ci-dessus et l'enregistrer dans un fichier nommé turbo-boost puis le définir comme exécutable :

sudo chmod +x turbo-boost.sh

vous pouvez alors l'utiliser pour désactiver/activer le turbo :

./turbo-boost.sh disable
./turbo-boost.sh enable

2voto

Ron Points 19655

Vous pouvez essayer de régler /sys/devices/system/cpu/cpufreq/boost à 0.

echo "0" | sudo tee /sys/devices/system/cpu/cpufreq/boost

0voto

Benedek Dankó Points 43

Dans mon cas, cela fonctionne :

echo "0" | sudo tee /sys/devices/system/cpu/intel_pstate/no_turbo

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X