각 코어에 대해 개별적으로 수행하는 대신 모든 코어에 대해 CPU 주파수 스케일링 조정기를 한 번에 설정하고 싶습니다. 이 방법이 있습니까?
(지사를 에코하는 것이 쉽지만 /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
사용자 정의 솔루션을 찾고 있지 않습니다.)
각 코어에 대해 개별적으로 수행하는 대신 모든 코어에 대해 CPU 주파수 스케일링 조정기를 한 번에 설정하고 싶습니다. 이 방법이 있습니까?
(지사를 에코하는 것이 쉽지만 /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
사용자 정의 솔루션을 찾고 있지 않습니다.)
답변:
나는 여전히 리눅스 멍청하지만 cpufrequtils는 Ubuntu OS에 번들되어 있지 않지만 저장소에 있습니다.
sudo apt-get install cpufrequtils
sudo cpufreq-set -r -g performance
-r
플래그는 모든 변경 ( "모든 하드웨어 관련") 코어를 설정하는 데 사용cpufreq-set
실제로는 간단하지만 필요한 기능이 부족합니다. 이 투표 카운터가 명확하게 보여 주듯이 많은 사람들은 그 설명이 단순히 오해를 불러 일으키기 때문에 그것을 알지 못합니다.
나는 많이 봤는데 가능하지 않다고 생각하므로 다음과 같은 하나의 라이너를 추가했습니다 .bashrc
.
function setgov ()
{
echo "$1" | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
}
이제는 비슷한 것을 실행할 수 setgov ondemand
있으며 모든 코어가 주문형 주지사로 전환됩니다 .
총재가 우분투 16.04 또는 그보다 최근 (현재 우분투 메이트에 있음) 약 30 초 후에 기본적으로 절전 모드로 돌아 가기 때문에이 설정을 고수 한 방식;
이 (한 줄의) 코드를 넣으십시오 (이전 답변의 switch87에 감사드립니다)
sleep 60 && bash -c 'for i in {0..7}; do cpufreq-set -c $i -g performance; done'
디렉토리의 파일에
/etc/rc.local
광산은 "exit 0"위의 주석이며 주석 처리 된 주석 아래에 주석 처리가 없습니다.
모르는 사람들을 위해 "rc.local"은 sudo로 명령을 실행합니다. 주지사 변경을위한 명령은 모두 sudo로 실행해야합니다.
관리자가 60 초 후에 코드를 다시 절전으로 재설정하고 코드를 sudo로 실행하여 성능으로 다시 변경합니다.
"60"(복사 코드에서)을 원하는 시간 (초)으로 변경하십시오 (초 단위 60 = 60 초 = 1 분). 로 변경.
검색 시간과 시간에서 이것보다 더 영구적 인 수정을 찾지 못했습니다. 이것이 내가 찾은 최선의 해결책이라면 절전에 몇 분이 걸리는지 알아 봅니다. 권리.
최선의 수정은 아니지만 전력 절약으로 거의 전환하지 않으면 다소 영구적입니다. 바로 부팅하고 게임이나 다른 것에 뛰어 들기를 원한다면 전원 절약 모드에서 다시 전환하거나 타이밍을 낮추기 위해 넣은 코드를 잠시 기다려야합니다 (시간이 얼마나 걸리는지에 따라 다름) 모든 기능을 시작하여 올바르게 성능으로 다시 전환합니다).
그리고 항상 그렇듯이 기본값으로 되돌리려면 (사람의 PC 과열과 관련된 몇 가지 문제를 보았으므로 처음에는 절전으로 설정했을 수 있습니다) rc.local에서 코드를 제거하고 재부팅하거나 다시 전환하십시오. CPU 아이콘 표시기 스위처를 사용하여 수동으로 실행하거나 실행하십시오.
sudo /etc/init.d/cpufrequtils restart
터미널에서 다시 부팅하십시오.
switch87의 답변을 바탕으로 간단한 스크립트를 작성 하여 모든 CPU로 cpufreq-set-all
다른 cpufreq-set
작업 을 수행 할 수 있습니다 .
#!/bin/bash
MAX_CPU=$((`nproc --all` - 1))
for i in $(seq 0 $MAX_CPU); do
echo "Changing CPU " $i " with parameter "$@;
cpufreq-set -c $i $@ ;
done
이제 다음 chmod +x
과 같이 (물론 후에 ) 호출 할 수 있습니다 .
cpufreq-set-all -g powersave
또는
cpufreq-set-all -f 800Mhz