Przetaktowywanie za pomocą wiersza poleceń

10

Konfiguruję instancję Puppet, która będzie zarządzać wieloma RPis. Oznacza to, że nie mogę ich podkręcać jeden po drugim za pomocą raspi-config.

Przetaktowywanie powinno być tak proste, jak utworzenie /boot/config.txt:

root@rpi-032113 ~ # file /boot/config.txt 
/boot/config.txt: ASCII text
root@rpi-032113 ~ # cat /boot/config.txt 
gpu_mem=32
arm_freq=950
core_freq=250
sdram_freq=450
over_voltage=6

Jednak za każdym razem, gdy uruchamiam ponownie i test warunków skrajnych pozostaje na 700 MHz:

root@rpi-032113 ~ # nice yes >/dev/null &
[1] 3238
root@rpi-032113 ~ # cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
700000

root@rpi-032113 ~ # /opt/vc/bin/vcgencmd get_config int
arm_freq=950
core_freq=250
sdram_freq=450
over_voltage=6
temp_limit=85
force_pwm_open=1

Wyraźnie utrzymuje się na 700 MHz (również po odczekaniu kolejnych 15 dodatkowych sekund), podczas gdy powinno być na 950 MHz.

czego mi brakuje? Czy jest jakiś lepki bit, który musi być ustawiony w CPU, zanim to zadziała?

Tuinslak
źródło

Odpowiedzi:

5

Częstotliwość procesora jest skalowana na żądanie. Możesz ustawić próg za pomocą zmiennej sysctl `up_threshold '. Możesz to ustawić za pomocą:

sudo sh -c "echo 20 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold"

Spowoduje to ustawienie progu na 20% wykorzystania procesora.

Regulator skalowania można ustawić na ondemand poprzez:

sudo sh -c "echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor"

Możesz umieścić to w swoim /etc/rc.local, aby zostało wykonane podczas rozruchu. Możesz wtedy pominąć te sudo sh -crzeczy, ponieważ i tak rc.localjest uruchamiany jako root.

Więcej dokumentacji na temat taktowania procesora można znaleźć tutaj .

Arne
źródło
-bash: / sys / devices / system / cpu / cpu0 / cpufreq / ondemand / up_threshold: Brak takiego pliku lub katalogu - Jednak ustawienie „ondemand” rozwiązało to, dzięki - root @ rpi-032113 ~ # nice yes> / dev / null & [1] 4650 root @ rpi-032113 ~ # cat / sys / devices / system / cpu / cpu0 / cpufreq / scaling_cur_freq 950000
Tuinslak
Dostałem ten sam błąd co Tuinslak, ale po węszeniu plików w /sys...cpufreq/ znalazłem plik, który robi to samo.
Matthew
Tak, może musisz pominąć procesor. Być może istnieje to tylko w systemach wielordzeniowych. Nie mam przy sobie mojego pi, żeby to zweryfikować.
Arne,
Tak, wydaje się, że musisz wykopać procesor cpu0: raspberrypi.org/phpBB3/viewtopic.php?f=24&t=20156
Arne
Tak świetnie. Wygląda na to, że teraz działa jak urok. Wydaje mi się, że te polecenia są zawarte w instalacji Raspbian (dlaczego działało dobrze na 3 innych RPi), ale nie kiedy uruchamiasz go od zera dla mojej konfiguracji Puppet. Dzięki.
Tuinslak,
0

Podkręcanie aktywuje się tylko wtedy, gdy obciążenie procesora jest wystarczająco wysokie. Aby zmienić minimalną częstotliwość uzbrajania, wykonaj

sudo nano /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq

Nano to mój ulubiony edytor tekstu wiersza poleceń, ale możesz używać innych, takich jak vi lub vim. Liczba w pliku to bieżąca częstotliwość uzbrajania w kHz (nie w mHz!). Aby zwiększyć minimalną częstotliwość uzbrojenia, po prostu zwiększ liczbę. W przypadku tuinslack liczba wynosiłaby 950000.

W folderze cpufreq można znaleźć inne ustawienia, takie jak częstotliwość ramienia maxiumum. Jeśli przytrzymasz Shift podczas rozruchu, podkręcanie zostanie wyłączone. Uaktywnienie podkręcania znacznie zwiększy temperaturę procesora.

Mateusz
źródło
Chociaż powinno to naprawić, spowoduje to również, że procesor będzie pracował z częstotliwością 950 MHz, nawet w stanie bezczynności (czego chciałbym uniknąć, ponieważ OC'ing nadal wiąże się z pewnym ryzykiem); ponieważ jest to „minimum” zegara procesora. Chciałem dynamicznie podkręcać według potrzeb (patrz druga odpowiedź).
Tuinslak,
@tuinslak To tylko kolejny sposób na zrobienie tego.
Matthew