Jestem nowy w Ubuntu i chcę wyłączyć doładowanie turbo. Próbowałem z, cpufreq
ale nie mogę go uruchomić. czy jest na to inny sposób?
W systemie Windows było to tak proste, jak zmiana szybkości procesora ze 100 na 99.
cpupower
.
Jestem nowy w Ubuntu i chcę wyłączyć doładowanie turbo. Próbowałem z, cpufreq
ale nie mogę go uruchomić. czy jest na to inny sposób?
W systemie Windows było to tak proste, jak zmiana szybkości procesora ze 100 na 99.
cpupower
.
Odpowiedzi:
Aby odczytać aktualny stan Turbo Boost, musimy zainstalować narzędzia msr
sudo apt-get install msr-tools
Aby wiedzieć, czy funkcja Turbo Boost jest wyłączona, uruchom:
rdmsr -pi 0x1a0 -f 38:38
1=disabled
0=enabled
Zamień i na swój numer rdzenia
UWAGA: Jeśli pojawi się następujący błąd:
rdmsr:open: No such file or directory
następnie załaduj moduł „msr” następującą komendą:
sudo modprobe msr
Aby wyłączyć funkcję Turbo Boost, można ustawić cały rejestr MSR 0x1a0 na 0x4000850089, jak tutaj:
wrmsr -pC 0x1a0 0x4000850089
Gdzie C oznacza konkretny numer rdzenia
możesz uzyskać ten numer, uruchamiając
cat /proc/cpuinfo | grep processor
wtedy gdy poznasz swoje liczby, musisz uruchomić powyższe polecenie dla każdego rdzenia. w twoim przypadku numery będą wynosić 0 i 1, więc musisz to zrobić
wrmsr -p0 0x1a0 0x4000850089
wrmsr -p1 0x1a0 0x4000850089
From http://notepad2.blogspot.com/2014/11/a-script-to-turn-off-intel-cpu-turbo.html
Skrypt do wyłączania / włączania turbo boost
Poniższego skryptu można użyć do wyłączenia / włączenia doładowania turbo:
#!/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
zapisz to w pliku o nazwie turbo-boost.sh
Użycie: Możesz skopiować powyższy skrypt i zapisać go w pliku o nazwie turbo-boost, a następnie ustawić go jako wykonywalny:
sudo chmod +x turbo-boost.sh
możesz go następnie użyć do wyłączenia / włączenia doładowania turbo:
./turbo-boost.sh disable
./turbo-boost.sh enable
$ rdmsr -pi 0x1a0 -f 38:38
daje mi tylko listę opcji do użycia z poleceniem. np .: Usage: rdmsr [options] regno --help -h Print this help --version -V Print current version ....
Czy powyższa składnia jest nieaktualna / nie ma zastosowania w sposób ogólny?
Jeśli twój system używa sterownika skalowania częstotliwości 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
Następnie możesz zapytać o status turbo włączony lub wyłączony:
$ cat /sys/devices/system/cpu/intel_pstate/no_turbo
0
Gdzie 0 oznacza włączenie turbo, a 1 oznacza wyłączenie. Możesz to zmienić, pisząc (jako sudo) w tej samej lokalizacji.
$ echo "1" | sudo tee /sys/devices/system/cpu/intel_pstate/no_turbo
1
Nigdy nie pamiętam lokalizacji ani sposobu prawidłowego wykonania polecenia „tee”, dlatego wolę, aby skrypty były uruchamiane jako 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
sudo echo "0" | sudo tee /sys/devices/system/cpu/intel_pstate/no_turbo
set_cpu_turbo_off
skrypt, aby był uruchamiany podczas uruchamiania.
sudo echo "1" | sudo tee /sys/devices/system/cpu/intel_pstate/no_turbo 1 tee: /sys/devices/system/cpu/intel_pstate/no_turbo: Operation not permitted
sudo wrmsr --all 0x1a0 0x4000850089
robi to samo.
Możesz spróbować ustawić /sys/devices/system/cpu/cpufreq/boost
wartość na 0.
echo "0" | sudo tee /sys/devices/system/cpu/cpufreq/boost