기본 총재를 변경하는 방법?


12

파이의 기본 관리자를 주문형에서 성능으로 변경하고 싶습니다. 이 방법이 있습니까?

답변:


21

커널을 다시 컴파일하지 않고 기본값 을 변경할 수 있다고 생각하지 않습니다 . 즉, 부팅 할 때 커널이 선택하는 것을 의미합니다.

그러나 실행 중에 다른 관리자를 사용하도록 지시 할 수 있으므로 재 컴파일하지 않고 기본값을 효과적으로 설정하려면 무언가 /etc/rc.local또는 다른 시작 스크립트 에 무언가를 추가 할 수 있습니다 .

/sys디렉토리는 디스크에없는; 실제로 RAM 가짜 파일 시스템이며 실제로 커널에서 정보를 얻고 명령을 보내기위한 인터페이스입니다. 이것은 모두에 상대적 /sys/devices/system/cpu이므로 다음과 같습니다.

> cd /sys/devices/system/cpu

또한 쓰기 ( echo blahblah >) 를 수행하려면 루트 여야합니다 . 어쨌든 위의 디렉토리와 관련하여 사용 가능한 총재를 확인하십시오.

> cat cpu0/cpufreq/scaling_available_governors
conservative ondemand userspace powersave performance

분명히 당신은 ondemand(그러나 이것에 대해 아래의 "Gotcha"를 읽으십시오 ); 확인하다:

> cat cpu0/cpufreq/scaling_governor
ondemand

그것을 바꾸려면 :

echo performance > cpu0/cpufreq/scaling_governor

이것은 루트 또는 이와 같이 수행되어야합니다.

sudo sh -c "echo performance > cpu0/cpufreq/scaling_governor"

sudo리디렉션이 있으므로 일반 기능 이 작동하지 않습니다 >.

이제 알 수 있습니다 /sys/devices/system/cpu/cpufreq디렉토리, (같은 NOT /sys/devices/system/cpu/cpu0/cpufreq이전 디맨드 주지사를 구성하는 파일 핸들을 포함!), 비어 있습니다.


잡았다 ...

Raspbian에는 혼란스러운 이름을 가진 init 스크립트가 있습니다 raspi-config(아니오, 다른 스크립트와 는 아무런 관련이 없습니다 (첫 번째 부팅시 혼란스럽게도 이름이 지정됨 apply_noobs_os_config.sh)).이 기술을 사용 ondemand하여 Shift 키 가 없으면 주지사를 설정합니다 (라즈 비안 커널이 powersave컴파일 한 스톡 ) 다른 작업을 수행하지 않으므로이 ( systemctl disable raspi-config) 를 비활성화하는 것이 안전 하거나 Gorkamorka의 답변에 따라 편집 할 수는 있지만 시스템 업데이트 등으로 편집하지 않을 위험이 있습니다. 누군가가 그걸로 무엇을하려고하는지 알고 있습니다.

위의 비 스도 버전을에 추가해 볼 수 /etc/rc.local있습니다. raspi-config스크립트가 종료 된 후에 발생할 수 있습니다 .


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

2
오히려 그럼 그냥 사용, 루트로 전환이 필요합니다 tee: echo performance | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor.
가짜 이름

2
다른 방법 : sudo sh -c "에코 성능> cpu0 / cpufreq / scaling_governor"
Moonchild

Raspbian 데비안을 기반으로하기 때문에, 당신은 패키지를 찾을 수 있어야 cpufrequtils하고 sysfsutils. 을 설치 한 후, 당신은에서 주지사 및 기타 매개 변수를 설정할 수 있습니다 /etc/default/cpufrequtils/etc/sysfs.conf- 여기 참조 : wiki.debian.org/HowTo/CpuFrequencyScaling을
mbirth


3

RPi 스택 교환에 대한 비슷한 질문이 있습니다.

다시 말하면 CPU가 95 % 사용 중일 때 온 디맨드 속도가 최대치까지 올라갑니다. 다음과 같은 방법으로 통화 중 시간을 더 낮은 백분율로 낮출 수 있습니다 (즉, 통화 중이 아닐 때 더 높은 시간이 걸리는 것을 의미).

"파일에 정수 값 쓰기 (예 : /etc/rc.local 시작 파일에 다음을 입력 할 수 있음) : echo 60> / sys / devices / system / cpu / cpufreq / ondemand / up_threshold"

이론적으로 ...이 백분율을 10 또는 5와 같이 매우 낮은 값으로 설정할 수 있습니다. 즉, 항상 최대로 실행됩니다.

도움이 되었기를 바랍니다. 링크 된 기사에 이것을 올린 사람의 점수를 올리십시오!


3
실제로는 주지사를 온 디맨드에서 성과로 바꾸는 방법 (두 가지 다른 주지사)을 묻는 질문에 대한 답은 아닙니다 .
goldilocks

1
@ goldilocks 나는이 답변이 여전히 quesiton에 유용한 것을 추가한다고 생각합니다.
Dmitry Grigoryev

2

대체 솔루션 (Raspbian을 실행중인 경우)은 스케일링 조정기를 항상 비활성화하도록 /etc/init.d/raspi-config에서 init.d 스크립트를 수정하는 것입니다. 기본 동작은 Shift 키 중 하나를 눌렀을 때 시작시에만 활성화하는 것입니다.

#!/bin/sh
### BEGIN INIT INFO
# Provides:          raspi-config
# Required-Start: udev mountkernfs $remote_fs
# Required-Stop:
# Default-Start: S
# Default-Stop:
# Short-Description: Switch to ondemand cpu governor (unless shift key is pressed)
# Description:
### END INIT INFO

. /lib/lsb/init-functions

case "$1" in
  start)
    log_daemon_msg "Checking if shift key is held down"
    timeout 1 thd --dump /dev/input/event* | grep -q "LEFTSHIFT\|RIGHTSHIFT"
    if [ $? -eq 0 ]; then
      printf " Yes. Not enabling ondemand scaling governor"
      log_end_msg 0
    else
      printf " No. Switching to ondemand scaling governor"
      SYS_CPUFREQ_GOVERNOR=/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor      if [ -e $SYS_CPUFREQ_GOVERNOR ]; t
hen
        echo "ondemand" > $SYS_CPUFREQ_GOVERNOR
        echo 50 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold
        echo 100000 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate
        echo 50 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor
        echo 1 | sudo tee /sys/devices/system/cpu/cpufreq/ondemand/io_is_busy
      fi
      log_end_msg 0
    fi
    ;;
  *)
    echo "Usage: $0 start" >&2
    exit 3
    ;;
esac

-3

에코 "성능"| 스 도이 티 / sys / devices / system / cpu / cpu0 / cpufreq / scaling_governor


이것이 질문에 대한 답변이 될 수 있지만, 좋은 답변을 얻으려면 여기에 제공 한 것보다 많은 정보가 필요합니다. 또한 귀하의 답변에는 위의 답변이 아직 제공하지 않은 내용이 없습니다.
Steve Robillard
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.