Узнать частоту процессора raspberry

Попытка решить проблему троттлинга Raspberry Pi

У меня есть два мини компьютера Raspberry Pi. Они являются центром умного дома в квартире и на даче.

Эти два компьютера очень похожи друг на друга. Одинаковая плата (Raspberry Pi 3B+), одинаковый корпус, они все время включены. На них работает один и тот же софт (Home Assistant), но с разными настройками.

Совершенно случайно обнаружил что она и та же операция на этих двух компьютерах выполнялась сильно разное время. (Не очень важно что это за операция, но если интересно — это была наливка ansible плейбука)

На компьютере на даче операция выполнилась где-то за минуту, а дома — около 6 минут. Есть некоторые различия в том что выполнялось на этих двух компьютерах, но эти различия не должны приводить к такой значительной разнице во времени выполнения.

Я когда-то слышал что в некоторых ситуациях Raspberry Pi может делать «throttling». Т.е. если компьютеру фигово, то он работает не на полную мощность, а понижает частоту процессора.

Одни из причин почему Raspberry Pi может понижать температуру процессора — это температура. Нашел в документации что для Raspberry Pi 3 B+ температура включения throttling — это 60°C.

У меня в Home Assistant пишется температура Raspberry Pi, поэтому можно посмотреть на графики. Вот данные за два дня.

На даче Raspberry Pi находится в неотапливаемом помещении, и это помогает поддерживать низкую температуру (и видно как температура окружающей среды влияет на температуру компьютера — днем температура выше чем ночью). На графике Raspberry Pi дома видно что температура близка к 60°C и иногда даже чуть-чуть больше.

Сейчас у меня нет никакого охлаждения Raspberry Pi. Просто плата в корпусе. Я специально для своих Raspberry Pi купил пассивные радиаторы и кулеры, но не ставил их. Пожалуй, уже пора установить пассивные радиаторы.

Графики это хорошо, но хочется найти подтверждения что действительно включается throttling (где-нибудь в логах или еще как-нибудь). Пошел читать в интернете. Оказалось, что для Raspberry Pi есть специальная команда которая может ответить на этот вопрос. Нужно набрать в консоли:

Запускаю на даче:

Такс. Числа разные. Что это такое и как интерпретировать? Если в выводе команды написано «throttled=0x0» — это означает что все отлично. Троттлинг не включается. А вот если там находится другое число, то что-то работает не оптимально.

Как понять что было? Нужно число (в моем случае это 0x50005) перевести в двоичный формат. Это шестнадцатеричное число, в двоичном представлении это:

Каждый бит из этого числа что-то означает (данные из документации):

  • 0 — Under-voltage detected
  • 1 — Arm frequency capped
  • 2 — Currently throttled
  • 3 — Soft temperature limit active
  • 16 — Under-voltage has occurred
  • 17 — Arm frequency capping has occurred
  • 18 — Throttling has occurred
  • 19 — Soft temperature limit has occurred

В том числе, которое я получил, 0x50005, возведены биты:

  • 0 — Under-voltage detected — т.е. прямо сейчас нехватает питания
  • 2 — Currently throttled — т.е. прямо сейчас происходит троттлинг
  • 16 — Under-voltage has occurred — т.е. с момента включения была ситуация когда не хватало питания
  • 18 — Throttling has occurred — т.е. с момента включения была ситуация когда происходил троттлинг

Из вывода команды все стало понятно. Проблема не в том что железо перегревается, а что блок питания не выдает нужную мощность.

Сейчас у меня Raspberry Pi подключен через блок питания на котором написано «Выходные характеристики: «4.75-5.25В; 2100мА»:

Я попробовал еще два блока. Результат точно такой же. Команда «vcgencmd get_throttled» говорит что работает троттлинг. После того как я попробовал эти блоки питания я прочитал что на них написано. У обоих заявленные характеристики одинаковые.

Блок питания для китайской розетки «5V 1000mA»:

И Apple блок питания «5V 1A»:

На этом закончился запас блоков питания который был у меня дома.

На даче Raspberry Pi воткнут в блок питания который шел в комплекте со старыми iPhone — пузатый такой. Вроде бы бывают два варианта таких блоков питания. 5.1V 2.1A и 5.2V 2.4A. Не уверен какой там установлен.

Официальный блок питания Raspberry Pi выдает 5.1В 2.5А.

И на этом история пока заканчивается. Пока у меня нет другого блока питания чтобы заменить тот с которым есть проблема.

Но есть еще один интересный момент. С помощью команды vcgencmd можно узнать тактовую частоту с которой работает процессор. Вот результат с моей Raspberry Pi, которая находится дома:

Это цифра означает 600 Мегагерц. Raspberry Pi работает в режиме троттлинга, и я совершенно не удивился этому результату.

Но когда я запускаю эту же команду на Raspberry Pi на даче мне иногда показывается:

1.4 гигагерца. Ожидаемо. Но! Иногда Raspberry Pi на даче так же показывает 600 мегагерц. Один запуск показывает одно, другой другое.

Малина не находится в режиме троттлинга, но все равно иногда работает на пониженной частоте.

Источник

vgencmd

vcgencmd — консольная программа, которая поможет узнать немного интересной информации о состоянии процессора и прочих частей Raspberry Pi. Данная программа не является базовой для Linux дистрибутивов, поставляется исключительно с Raspbian и заточена на работу с Raspberry Pi

vcgencmd commands — получение списка доступных команд

vcgencmd measure_temp — получение температуры процессора

vcgencmd measure_volts [volts] -показать напряжение модуля, переданного в аргументе [volts]. Доступные значения аргумента:core, sdram_c, sdram_i, sdram_p

vcgencmd measure_сlock [clock] — показать частоту модуля, переданного в аргументе [clock]. Доступные значения аргумента:

  • arm — частота ядра процессора
  • core — VC4 scaler cores
  • H264 — H264 блок
  • isp — Image Signal Processor
  • v3d — 3D блок
  • uart — UART
  • pwm — ШИМ блок (аналоговый аудиовыход);
  • emmc — интерфейс карты памяти
  • pixel
  • vec — Analogue video encoder
  • hdmi — HDMI
  • dpi — Display Peripheral Interface

vcgencmd codec_enabled %codec% — проверить доступность аппаратного кодека, переданного в параметре%codec%. Доступные значения -H263, H264, MPG2, WVC1, MPG4, AGIF, MJPA, MJPB, MJPG, WMV9, MVC0.

vcgencmd get_config [config|int|str] — показать значение определённого параметра из файла /boot/config.txt. Третьим аргументом передаётся название конкретного параметра (значение которого нас интересует), либо int для показа всех параметров с целочисленными значениями, либо str для показа всех параметров со строковыми значениями.

vcgencmd get_mem arm/gpu — показывает сколько оперативной памяти отведено для использования обычным процессором, а сколько для видеоядра. Значение arm может быть некорректно для моделей Raspberry Pi 4 c 2Gb и 4Gb оперативной памяти, для них лучше использовать команду

vcgencmd version — показать версию и дату сборки прошивки

vcgencmd otp_dump — показать содержимое OTP-памяти. Адреса 28 и 30 этой памяти содержат значения серийного номера и ревизии платы, которые также можно получить командой cat/proc/cpuinfo Чему соответствуют прочие значения в этой памяти — неизвестно

vcgencmd set_backlight — в настоящее время не используется. В будущем возможно будет использоваться для управления подсветкой подключённого экрана

vcgencmd display_power 0/1 [display_id] — включить/выключить видеовыход c идентификатором [display_id]. Список идентификаторов доступных видеовыходов можно получить командой tvservice -l . На Raspberry Pi 4 первый HDMI выход имеет идентификатор 7, таким образом команда vcgencmd display_power 0 7 отключит его

vcgencmd get_lcd_info — показать разрешение и глубину цвета подключенного дисплея

vcgencmd get_camera — показать подключена или нет официальная CSI-камера

vcgencmd get_throttled — показывает причины снижения производительности процессора. Для расшифровки нужно перевести вывод команды в двоичный формат и смотреть установленные биты (нумерация справа налево)

  • Бит0 В настоящий момент производительность процессора снижена из-за проблем с питанием, низкое напряжение
  • Бит 1 В настоящий момент производительность процессора снижена из-за ручного ограничения частоты
  • Бит 2 В настоящий момент производительность процессора снижена
  • Бит 3 В настоящий момент производительность процессора снижена из-за перегрева процессора
  • Бит 16 Производительность процессора в этом сеансе работы была когда-то снижена из-за проблем с питанием, низкое напряжение
  • Бит 17 Производительность процессора в этом сеансе работы была когда-то снижена из-за ручного ограничения частоты
  • Бит 18 Производительность процессора в этом сеансе работы была когда-то снижена
  • Бит 19 Производительность процессора в этом сеансе работы была когда-то снижена из-за перегрева процессора

vcgencmd mem_oom — Статистика событий Out Of Memory, случившихся в области памяти VC4

vcgencmd read_ring_osc — показать температуру и напряжение кольцевого осциллятора

vcgencmd hdmi_timings — показать тайминги текущих настроек HDMI

Источник

Использование консольной программы vcgencmd

В статье про мониторинг температуры Raspberry Pi, я уже упоминал консольную программу vcgencmd: с помощью команды vcgencmd measure_temp можно узнать температуру Raspberry Pi. Давайте посмотрим, что ещё умеет эта программа.

Для начала, давайте узнаем список всех команд: vcgencmd commands

Самые интересные и информативные команды:

vcgencmd vcos version — отображает дату и версию firmware видеоядра

vcgencmd vcos log status — показывает состояние различных составных частей программного обеспечения видеоядра

vcgencmd get camera — показывает доступна ли камера и её состояние

vcgencmd measure_clock [parameter] — показывает частоту. В качестве параметра могут быть:

arm ARM cores
core VC4 scaler cores
H264 H264 block
isp Image Signal Processor
v3d 3D block
uart UART
pwm PWM block (analogue audio output)
emmc SD card interface
pixel Pixel valve
vec Analogue video encoder
hdmi HDMI
dpi Display Peripheral Interface

Например, vcgencmd measure_clock arm — показывает частоту процессора

vcgencmd measure_volts [parameter] — показывает напряжение питания различных компонентов Raspberry Pi. В качестве параметра могут быть:

core VC4 core voltage
sdram_c SDRAM Core Voltage
sdram_i SDRAM I/O voltage
sdram_p SDRAM Phy Voltage

Например, vcgencmd measure_volts core — показывает напряжение ядра процессора.

vcgencmd get_mem arm — размер оперативной памяти

vcgencmd get_mem gpu — размер видеопамяти

На последней Raspberry Pi 4 с объемом установленной памяти более 1 Гб, данные, получаемые с помощью этих команд могут быть неточны.

vcgencmd get_lcd_info — отображает разрешение экрана и глубину цвета присоединенного дисплея.

vcgencmd read_ring_osc — показывает частоту, напряжение, температуру кольцевого осцилятора. Что это такое — хрен знает, но звучит красиво 🙂

vcgencmd mem_oom — показывает количество событий Out Of Memory, случившихся в области памяти VC4.

vcgencmd hdmi_timings — показывает тайминги текущих настроек HDMI. Подробную информацию по возвращаемым значениям можно посмотреть здесь.

Источник

Как безопасно разогнать Raspberry Pi 4

В этом руководстве мы продемонстрировали шаги по разгону Raspberry Pi 4 с 1,5 ГГц до 2 ГГц как в ОС Raspberry Pi, так и в Windows 11/10. Мы также включили несколько вещей, о которых следует помнить, прежде чем разгонять ЦП на Raspberry. Плата Pi 4. Вы можете развернуть приведенную ниже таблицу и перейти в любой раздел по своему усмотрению.

Важные моменты, которые следует помнить, прежде чем разгонять Raspberry Pi 4

Прежде чем мы углубимся в шаги по разгону Raspberry Pi 4, настоятельно рекомендуется установить на Raspberry Pi радиатор и кулер. Когда вы разгоняете процессор, он становится горячим, я имею в виду, очень горячим. В некоторых случаях он может достигать температуры до 70 градусов по Цельсию, что плохо для компьютерной платы.

Кроме того, использование разогнанной платы без кулера контрпродуктивно. При повышении температуры ЦП дросселируется, и вы столкнетесь с проблемами зависания. По сути, производительность будет хуже, чем у платы с базовой тактовой частотой 1,5 ГГц. Так что да, если вы хотите использовать разогнанный Raspberry Pi 4 дольше и хотите повысить производительность, убедитесь, что у вас есть кулер и радиатор.

Предупреждение: два описанных ниже метода безопасны и будут работать должным образом, если у вас есть кулер и радиатор. Мы не несем ответственности за любой ущерб, который может быть нанесен вашему Raspberry Pi из-за разгона.

Программы для Windows, мобильные приложения, игры — ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале — Подписывайтесь:)

Разгон Raspberry Pi 4 до 2 ГГц с помощью Raspberry Pi OS

Я предполагаю, что вы уже настроили Raspberry Pi 4 с ОС Raspberry Pi. Если вы еще этого не сделали, просмотрите наше руководство о том, как настроить Raspberry Pi без монитора или кабеля Ethernet. После этого выполните следующие действия:

1. Сначала откройте Терминал и выполните следующую команду, чтобы обновить все пакеты и зависимости.

2. Затем выполните следующую команду, чтобы обновить дистрибутив до последней версии. Этот процесс займет много времени, поэтому наберитесь терпения.

3. После этого нам нужно обновить прошивку Raspberry Pi до последней версии, чтобы мы могли разогнать Raspberry Pi 4. Если Терминал читает — «rpi-update is already the newest version», все готово. В случае обновления прошивки вам необходимо перезагрузить Raspberry Pi, набрав команду — sudo reboot.

4. После перезапуска Raspberry Pi 4 пора разогнать его с 1,5 ГГц до 2 ГГц. Откройте Терминал и выполните следующую команду. Это позволит нам изменить файл конфигурации через графический редактор Geany.

5. Откроется окно Geany. Прокрутите вниз и найдите # arm_freq = 800. Нам нужно изменить эту строку. Сначала удалите # из строки, чтобы включить команду. После этого измените значение arm-freq с 800 на 2000.

Это шаг, который увеличит тактовую частоту вашей платы Raspberry Pi 4 до 2 ГГц. Вам также необходимо добавить линию для увеличения напряжения, которую я показал ниже. По сути, конфигурационный файл должен выглядеть примерно так.

6. Если вы хотите также разогнать графический процессор, добавьте следующую строку в файл конфигурации. Теперь сохраните файл и закройте редактор Geany.

7. Перезагрузите Raspberry Pi, и на этот раз он должен загрузиться с разогнанными процессором и графическим процессором. Чтобы проверить числа, откройте два экземпляра Терминала и выполните следующие команды в каждом из окон Терминала. Один позволит вам контролировать тактовую частоту процессора в режиме реального времени, а другой будет отображать текущую температуру.

Примечание. Если ваш Raspberry Pi не загружается после разгона, следуйте нашим исправлениям в следующем разделе ниже.

  • Монитор тактовой частоты процессора
  • Измерьте температуру

8. Теперь, когда мы настроили нашу систему мониторинга, давайте запустим sysbench, чтобы увидеть, достигает ли Raspberry Pi 4 тактовой частоты 2 ГГц. Для этого вам необходимо установить sysbench на Raspberry Pi, выполнив команду ниже. Нажмите «y», чтобы разрешить установку.

9. Затем выполните команду ниже, чтобы запустить тест sysbench. Когда вы запустите эту команду, вы заметите, что тактовая частота процессора достигла 2 ГГц. В моем случае радиатор и кулер в демонстрационных целях я не установил.

Как видите, температура колеблется в районе 68 градусов по Цельсию, что в данной ситуации не является нормальным. Однако мы настоятельно рекомендуем вам установить радиатор и кулер на Raspberry Pi 4, если вы хотите использовать разогнанную плату в течение более длительного времени.

10. Чтобы дать вам некоторые цифры, Raspberry Pi 4 с базовой тактовой частотой (1,5 ГГц) потребовалось около 15 секунд для завершения теста sysbench. В то время как разогнанный Raspberry Pi 4 с тактовой частотой 2 ГГц занял всего 10 секунд.

Вы также обнаружите огромную разницу в производительности при экспорте видео и воспроизведении видео в браузере благодаря разогнанному графическому процессору.

11. Если вы хотите отключить разогнанные ЦП и графический процессор на Raspberry Pi, выполните приведенную ниже команду еще раз, чтобы открыть файл конфигурации.

12. Перейдите в тот же раздел, где вы изменили значения ранее. Здесь добавьте # ко всем новым строкам и сохраните файл. Это отключит команды, и ваш Raspberry Pi загрузится с тактовой частотой по умолчанию после перезагрузки.

Raspberry Pi 4 не загружается после разгона? Вот исправление!

Если Raspberry Pi 4 не загружается после разгона CPU и GPU, вам понадобится ПК, чтобы отменить изменения в файле конфигурации. Вот как это сделать.

1. Сначала извлеките SD-карту из платы и вставьте ее в свой Mac или ПК с Windows. Откройте SD-карту на вашем ПК (она будет называться «boot» в проводнике) и найдите файл config.txt. Он будет находиться в самом корневом каталоге.

2. Откройте файл с помощью Блокнота, добавьте # ко всем измененным командам и сохраните файл. Теперь подключите SD-карту к плате, и на этот раз ваш Raspberry Pi 4 загрузится с тактовой частотой по умолчанию (1,5 ГГц). Затем вы можете выполнить действия, описанные в разделе выше, чтобы снова попытаться разогнать плату. Или вы можете использовать свой компьютер с Windows, как описано в следующем разделе.

Разгон Raspberry Pi 4 до 2,1 ГГц с помощью ПК с Windows 11/10

1. Мы предполагаем, что вы уже следовали нашему подробному руководству по установке Windows 11/10 на Raspberry Pi. Если нет, вы можете использовать связанное руководство для настройки Windows на ARM на Raspberry Pi.

2. Далее скачиваем утилиту монтирования загрузочного раздела по ссылке. Это позволит вам получить доступ к файлу конфигурации. Вы можете сделать это в Windows на самой Raspberry или на отдельном ПК. Вам нужно будет подключить SD-карту, чтобы внести изменения.

3. Теперь разархивируйте файл и откройте папку. Откройте WoR-Boot-Mounter.

4. После этого выберите SD-карту, на которую вы установили Windows на Raspberry, и нажмите «Смонтировать».

5. Затем нажмите «Просмотреть содержимое».

6. Здесь вы найдете файл «config.txt». Откройте его с помощью Блокнота.

7. Теперь добавьте следующие строки в зависимости от вашей системы охлаждения. Я бы посоветовал стабильный разгон, если у вас есть приличная система охлаждения. Если у вас нет системы охлаждения, ни одно из этих изменений не позволит Raspberry Pi даже загрузиться.

  • Стабильный разгон
  • Средний разгон
  • Экстремальный разгон (проблемы с зависанием и могут быть опасны)

8. После добавления команд файл конфигурации будет выглядеть следующим образом. Теперь сохраните файл конфигурации и перезапустите Raspberry Pi.

9. Теперь вы обнаружите, что ваш Raspberry Pi разогнан до 2,1 ГГц, если вы выбрали стабильный разгон.

Разгоните Raspberry Pi 4 и улучшите производительность

Вот как вы можете улучшить производительность своего Raspberry Pi 4, разогнав процессор и графический процессор. Как мы уже упоминали выше, Raspberry Pi 4 довольно хорошо справляется с разгоном, поскольку ARM Cortex-A72 — вполне способное ядро.

Однако вам понадобится радиатор и кулер, если вы собираетесь использовать плату в течение более длительного времени без каких-либо проблем с тепловым дросселированием. Если у вас есть какие-либо вопросы, дайте нам знать в разделе комментариев ниже.

Программы для Windows, мобильные приложения, игры — ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале — Подписывайтесь:)

Источник

Adblock
detector