UbuntuでIntel Turbo Boostを無効にする


17

私はUbuntuが初めてなので、ターボブーストを無効にします。試しましたcpufreqが、うまくいきません。それを行う他の方法はありますか。

Windowsでは、CPU速度を100から99に変更するのと同じくらい簡単でした。


あなたのCPUモデルは何ですか?
ロン

@Ron:それはIntel(R)Pentium(R)CPU B960 @ 2.20GHzです彼らが移動したチャットから情報を得ました。私はそれは本当に重要ではないと思います、重要なのはどのスケーリングドライバーが使用されているかです。現在(過去とは異なります)、プロセッサがサポートしている場合はデフォルトでintel_pstateになります。
ダグスミティーズ

みんな、私は試しました:sudo cpupower frequency-set -g powersaveそしてそれは言います:cpuの設定:0 cpuの設定:1それで、変更するコアをどこに置くか?:)
イヴァイロ

ターボを有効にするかどうかにかかわらず、使用しているスケーリングドライバーがグローバル設定であるにもかかわらず、1つのスポットがすべてのCPUをカバーします。私自身、原始的なコマンドのみを使用しますcpupower
ダグスミシーズ

回答:


18

Turbo Boostの現在の状態を読み取るには、msr-toolsをインストールする必要があります

sudo apt-get install msr-tools

Turbo Boost機能が無効になっているかどうかを確認するには、次を実行します。

rdmsr -pi 0x1a0 -f 38:38

1=disabled
0=enabled

iをコア番号に置き換えます


注: 次のエラーが表示された場合:

rdmsr:open: No such file or directory

次に、次のコマンドで「msr」モジュールをロードします。

sudo modprobe msr

ターボブースト機能を無効にするには、次のように0x1a0 MSRレジスタ全体を0x4000850089に設定します。

wrmsr -pC 0x1a0 0x4000850089

Cは特定のコア番号を指します

を実行してこれらの番号を取得できます

cat /proc/cpuinfo | grep processor

数字がわかったら、コアごとに上記のコマンドを実行する必要があります。あなたの場合、数字は0と1になるので、あなたはする必要があります

wrmsr -p0 0x1a0 0x4000850089

wrmsr -p1 0x1a0 0x4000850089

ソリューションはこのブログの略です


http://notepad2.blogspot.com/2014/11/a-script-to-turn-off-intel-cpu-turbo.htmlから

ターボブーストを無効/有効にするスクリプト

次のスクリプトを使用して、ターボブーストのオン/オフを切り替えることができます。

#!/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

これをというファイルに保存します turbo-boost.sh

使用法:上記のスクリプトをコピーして、turbo-boostという名前のファイルに保存し、実行可能に設定できます。

sudo chmod +x turbo-boost.sh

その後、ターボブーストを無効/有効にするために使用できます。

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

コメントは詳細なディスカッション用ではありません。この会話はチャットに移動さました
ミッチ

$ rdmsr -pi 0x1a0 -f 38:38コマンドで使用するオプションのリストのみを提供します。例:Usage: rdmsr [options] regno --help -h Print this help --version -V Print current version ....上記の構文は一般的ではありませんか?
ヘンニハウir

30

システムで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

次に、ターボの有効または無効のステータスについて問い合わせることができます。

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

0はターボが有効であることを意味し、1は無効であることを意味します。また、同じ場所に(sudoとして)書き込むことで変更できます。

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

場所や「ティー」を適切に行う方法を覚えていないので、スクリプトを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
Cirelli94

再起動後も維持するために、これを永続的に設定できますか?
アレクセイ

@Alexey:永続的にしたい場合は、代わりにBIOSで行うことをお勧めします。それ以外の場合は、set_cpu_turbo_off起動時に上記のスクリプトを実行します。
ダグスミシーズ

1
@ Cirelli94-そうであっても: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

1
なんらかの理由で、Ubuntu Server 14 sudo wrmsr --all 0x1a0 0x4000850089ではこれは効果がありません。
sudo

2

/sys/devices/system/cpu/cpufreq/boost値を0に設定してみてください。

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

1
そのようなファイルやディレクトリはないという
Ivaylo

@Ronこの方法を説明することで、この答えを拡張することをお勧めします。
エリアケイガン

2
エリアからのコメントに同意します。周波数スケーリングドライバがacpi-cpufreqである場合、これは正解です。
ダグスミティーズ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.