우분투를 처음 사용하고 터보 부스트를 비활성화하고 싶습니다. 나는 노력 cpufreq
했지만 그것을 작동시킬 수 없다. 다른 방법이 있습니까?
Windows에서는 CPU 속도를 100에서 99로 변경하는 것만 큼 쉬웠습니다.
cpupower
.
우분투를 처음 사용하고 터보 부스트를 비활성화하고 싶습니다. 나는 노력 cpufreq
했지만 그것을 작동시킬 수 없다. 다른 방법이 있습니까?
Windows에서는 CPU 속도를 100에서 99로 변경하는 것만 큼 쉬웠습니다.
cpupower
.
답변:
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
$ rdmsr -pi 0x1a0 -f 38:38
명령과 함께 사용할 옵션 목록 만 제공합니다. 예 : Usage: rdmsr [options] regno --help -h Print this help --version -V Print current version ....
위의 구문이 오래되었거나 일반적인 방식으로 적용되지 않습니까?
시스템이 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
set_cpu_turbo_off
시작하는 동안 위 스크립트를 실행하십시오.
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
.
/sys/devices/system/cpu/cpufreq/boost
값을 0으로 설정할 수 있습니다 .
echo "0" | sudo tee /sys/devices/system/cpu/cpufreq/boost