Làm thế nào để thay đổi thống đốc mặc định?


12

Tôi muốn thay đổi thống đốc mặc định trên pi của tôi từ ondemand sang hiệu suất. Có cách nào để làm điều này?

Câu trả lời:


21

Tôi không nghĩ bạn có thể thay đổi mặc định mà không cần biên dịch lại kernel. Ý tôi là, hạt nhân chọn khi khởi động.

Tuy nhiên, bạn có thể yêu cầu nó sử dụng một thống đốc khác trong khi chạy, vì vậy nếu bạn muốn đặt mặc định một cách hiệu quả mà không cần biên dịch lại, bạn có thể thêm một cái gì đó vào /etc/rc.localhoặc một số tập lệnh khởi động khác.

Thư mục /syskhông có trên đĩa; đó là một hệ thống tập tin giả mạo trong RAM thực sự là một giao diện để lấy thông tin từ và gửi lệnh đến kernel. Tất cả đều liên quan đến /sys/devices/system/cpu, vì vậy:

> cd /sys/devices/system/cpu

Bạn cũng cần phải root để thực hiện write ( echo blahblah >). Dù sao, liên quan đến thư mục trên, để xem các thống đốc có sẵn:

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

Rõ ràng là của bạn ondemand(nhưng đọc "Gotcha" bên dưới về điều này); để kiểm tra:

> cat cpu0/cpufreq/scaling_governor
ondemand

Để thay đổi nó:

echo performance > cpu0/cpufreq/scaling_governor

Lưu ý điều này hoặc phải được thực hiện root, hoặc như thế này

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

Chỉ đơn giản là sudosẽ không hoạt động vì có một chuyển hướng , >.

Bây giờ bạn sẽ nhận thấy /sys/devices/system/cpu/cpufreqthư mục, (KHÔNG giống như /sys/devices/system/cpu/cpu0/cpufreq!), Trước đây có chứa các tệp tài liệu để định cấu hình thống đốc ondemand, trống.


Gotcha ...

Trên Raspbian có một đoạn script init, cái tên khó hiểu raspi-config (không, nó không liên quan gì đến tập lệnh khác, được chạy trên lần khởi động đầu tiên bởi tên cũng khó hiểu apply_noobs_os_config.sh), sử dụng kỹ thuật này để đặt bộ điều chỉnh ondemandtrừ khi phím shift được giữ (hạt nhân Raspbian đã powersaveđược biên dịch). Nó không làm gì khác, vì vậy, an toàn để vô hiệu hóa ( systemctl disable raspi-config) này hoặc bạn có thể chỉnh sửa nó theo câu trả lời của Gorkamorka , nhưng sau đó bạn có nguy cơ bị chỉnh sửa bởi bản cập nhật hệ thống, v.v. - ai biết những gì bất cứ ai có kế hoạch để làm với điều đó.

Bạn có thể thử thêm phiên bản không sudo ở trên vào /etc/rc.local. Điều này có thể xảy ra sauraspi-config kịch bản đã thoát.


Bình luận không dành cho thảo luận mở rộng; cuộc trò chuyện này đã được chuyển sang trò chuyện .
goldilocks

2
Thay vào đó yêu cầu chuyển sang root, chỉ cần sử dụng tee: echo performance | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor.
Tên giả

2
Cách khác: sudo sh -c "hiệu suất tiếng vang> cpu0 / cpufreq / scaling_gocateor"
Moonchild

Vì Raspbian dựa trên Debian, bạn sẽ có thể tìm thấy các gói cpufrequtilssysfsutils. Sau khi cài đặt chúng, bạn có thể đặt thống đốc và các tham số khác từ /etc/default/cpufrequtils/etc/sysfs.conf- xem tại đây: wiki.debian.org/HowTo/CpuFrequencyScaling
mbirth


3

câu hỏi tương tự về trao đổi ngăn xếp RPi ở đây.

để diễn giải nó, tốc độ theo yêu cầu tăng lên tối đa khi cpu đang bận rộn 95%. Bạn có thể giảm lượng thời gian bận rộn xuống phần trăm thấp hơn (có nghĩa là thời gian bận sẽ cao hơn khi không bận rộn) bằng cách:

"ghi một giá trị số nguyên vào một tệp (bạn có thể đặt ví dụ sau vào tệp khởi động /etc/rc.local): echo 60> / sys / thiết bị / system / cpu / cpufreq / ondemand / up_thrưỡng"

vì vậy, về mặt lý thuyết ... bạn có thể đặt tỷ lệ phần trăm này ở mức cực kỳ thấp như 10 hoặc 5, điều đó có nghĩa là nó sẽ luôn chạy ở mức tối đa.

Hi vọng điêu nay co ich. Hãy chắc chắn để ghi điểm người đã đăng bài này trong bài viết được liên kết!


3
Đó thực sự không phải là một câu trả lời cho câu hỏi, "làm thế nào để tôi thay đổi thống đốc từ ondemand thành hiệu suất (họ là hai thống đốc khác nhau ).
goldilocks

1
@goldilocks Tôi nghĩ rằng câu trả lời này vẫn bổ sung một cái gì đó hữu ích cho quesiton vì nó giải thích làm thế nào để làm cho cái này hoạt động như cái kia.
Dmitry Grigoryev

2

Một giải pháp thay thế (nếu bạn đang chạy Raspbian) có thể là sửa đổi tập lệnh init.d trong /etc/init.d/raspi-config để luôn vô hiệu hóa bộ điều chỉnh tỷ lệ. Hành vi mặc định của nó là chỉ kích hoạt nó khi khởi động nếu một trong các phím shift được nhấn xuống:

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

echo "hiệu suất" | sudo tee / sys / thiết bị / hệ thống / cpu / cpu0 / cpufreq / scaling_gocateor


Trong khi điều này có thể trả lời câu hỏi, câu trả lời tốt đòi hỏi nhiều thông tin hơn bạn đã cung cấp ở đây. Ngoài ra, câu trả lời của bạn không có bất cứ điều gì mà các câu trả lời trên chưa được cung cấp.
Steve Robillard
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.