우분투에서 인텔 터보 부스트 비활성화


17

우분투를 처음 사용하고 터보 부스트를 비활성화하고 싶습니다. 나는 노력 cpufreq했지만 그것을 작동시킬 수 없다. 다른 방법이 있습니까?

Windows에서는 CPU 속도를 100에서 99로 변경하는 것만 큼 쉬웠습니다.


귀하의 CPU 모델은 무엇입니까?
Ron

@Ron : Intel® 펜티엄 ® CPU B960 @ 2.20GHz입니다. 그들이 이동 한 채팅에서 정보를 얻었습니다. 실제로 중요하지 않다고 생각하는 것은 어떤 스케일링 드라이버가 사용되고 있는지입니다. 현재 (과거와 다름) 프로세서가 지원하는 경우 기본값은 intel_pstate입니다.
Doug Smythies

얘들 아, 나는 시도했다 : sudo cpupower frequency-set -g powersave 그리고 그것은 말한다 : cpu 설정 : 0 cpu 설정 : 1 그래서 어떤 코어를 바꿀 것인가? :)
Ivaylo

사용중인 스케일링 드라이버, 터보 가능 여부 또는 전역 설정에 관계없이 하나의 스팟이 모든 CPU를 포괄합니다. 나 자신은 기본 명령 만 사용하고와 같은 높은 수준의 도구는 사용하지 않습니다 cpupower.
Doug Smythies

답변:


18

Turbo Boost의 현재 상태를 읽으려면 msr-tools를 설치해야합니다

sudo apt-get install msr-tools

터보 부스트 기능이 비활성화되어 있는지 확인하려면 다음을 실행하십시오.

rdmsr -pi 0x1a0 -f 38:38

1=disabled
0=enabled

i를 코어 번호로 바꾸십시오


참고 : 다음 오류가 발생하는 경우

rdmsr:open: No such file or directory

다음 명령으로“msr”모듈을로드하십시오.

sudo modprobe msr

Turbo Boost 기능을 비활성화하려면 다음과 같이 전체 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

의견은 긴 토론을위한 것이 아닙니다. 이 대화는 채팅 으로 이동 되었습니다 .
Mitch

$ rdmsr -pi 0x1a0 -f 38:38명령과 함께 사용할 옵션 목록 만 제공합니다. 예 : Usage: rdmsr [options] regno --help -h Print this help --version -V Print current version ....위의 구문이 오래되었거나 일반적인 방식으로 적용되지 않습니까?
선생님 heennihau

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

나는 'tee'일을 올바르게하는 방법이나 위치를 기억하지 못하므로 스크립트를 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

@Alexey : 영구적으로 유지하려면 BIOS에서 대신 수행하는 것이 좋습니다. 그렇지 않으면 set_cpu_turbo_off시작하는 동안 위 스크립트를 실행하십시오.
Doug Smythies

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
어떤 이유로 든 이것은 우분투 서버 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 나는 그것을하는 방법에 대한 설명 으로이 답변을 확장하는 것이 좋습니다.
Eliah Kagan

2
엘리아의 의견에 동의합니다. 주파수 스케일링 드라이버가 acpi-cpufreq 인 경우 정답입니다.
Doug Smythies
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.