Как посмотреть загрузку процессора raspberry
Нет, это не то, о чём Ты, дорогой читатель, думаешь. Я не создавал образа через загрузчик, не вырезал приложения из Raspbian, и так далее по списку извращений с готовым образом. Сегодня Мы поговорим о Minibian и настройке WM (оконного менеджера) в целях сохранения ОЗУ и мощности ЦП. Кому интересно - прошу, красноглазим).
Скачаем и запишем образ, лежит здесь: ТЫЦ
После загрузки - голая консоль. Едем далее. Пока будем смотреть в паутину через Ethernet-port.
apt update - обновляем список пакетов
apt install firmware-brcm80211 pi-bluetooth wpasupplicant firmware-realtek wpasupplicant -y - устанавливаем драйвера
Теперь можно поднять Wi-Fi:
Поправим файл /etc/network/interfaces . Пропишем там
Теперь поправим файл /etc/wpa_supplicant/wpa_supplicant.conf . Пропишем там
Перезагружаемся, можно вытащить Ethernet.
apt install nano sudo rpi-update raspi-config -y - устанавливаем текстовый редактор, sudo, специальную утилиту обновления, утилиту конфигурации
Запустим raspi-config. Там нажмём:
expand_rootfs - здесь вы можете увеличить корневой раздел на всю SD
configure_keyboard - в этом пункте вы можете выбрать драйвер клавиатуры
change_locate - установка языка
change_timezone - выбор часового пояса.
memory_split - управление памятью видеочипа. Здесь стоит выбрать 128M для работы с 180p 60FPS, так как память видеочипу выделяется из ОЗУ
overclock - разгон процессора. Сильно, думаю, гнать не стоит. Можно повредить SD и увеличить температуру ЦП. При разгоне рекомендую иметь хорошую карту памяти, радиаторы и куллер на ЦП
ssh - включение или выключение сервера удалённого доступа SSH.
Далее нажимаем Ctrl+F и соглашаемся на перезагрузку.
adduser pi - добавим пользователя в систему.
usermod -a -G sudo pi - дадим пользователю возможность использовать sudo
visudo - откроем настройки sudo
И пропишем: pi ALL=(ALL) ALL
Снова перезагрузимся, и войдём теперь уже под пользователя pi.
sudo apt install xorg - установим графический сервер.
Изменим файл ~/.xinitrc Пропишем там: exec openbox-session
nano -w ~/.bash_profile - откроем редактором файл ~/.bash_profile
И пропишем там: [[ $(fgconsole 2>/dev/null) == 1 ]] && exec startx -- vt1
nano -w /etc/inittab - откроемредакторм файл /etc/inittab и пропишем там: c1:2345:respawn:/sbin/agetty -a pi -8 -s 38400 tty1 linux
sudo apt install openbox obenbox-themes obconf obmenu tint2 feh lxterminal lxappearance -y - установим WM, панель, апплеты, терминал и утилиты для настройки.
Скачаем картинку для обоев, например файл 1.jpg в домашнюю папку.
Теперь откроем файл ~/.fehbg
И пропишем там: feh --bg-scale '/home/pi/1.jpg'
Теперь настроим панель, я предпочитаю настройки от Manjaro, его можно взять тут: ТЫЦ.
Скопируем конфиг в файл ~/.config/tint2/tint2rc
Теперь настроим Openbox. Обои мы почти установили, откроем файл ~/.config/openbox/autostart.sh и пропишем там:
Теперь запустим графику: startx
Если всё сделали правильно - перед нами будут обои, панелька и меню приложений по ПКМ. Им и займёмся. Запустим obmenu.
Там видны все подпапки. С помощью кнопки + можно добавить приложение. Появятся графы Name, Execute. Name - имя приложения в меню, Execute - само приложение. Например Name=Terminal, Execute= lxterminal, то в меню появится строка Terminal, кликнув по которой, мы запустим lxterminal. Удалять приложения из меню кнопкой -.
Тепеь запустим obconf. Там можно выбрать тему окон, добавить или убрать кнопки окон и многое другое. Настройка также через графику.
Теперь запустим lxappearance. Также загрузим иконки и по желанию gtk-тему. Установим их в меню lxappearance.
Впринципе, настройка openbox окончена, более подробно тут: ТЫЦ. Установим нужные приложения, приведу небольшой список легковесных:
I am trying to figure out a good split for the CPU/GPU. Is there a way to monitor the CPU and GPU usage to see where I should make the split?
IMO the question is confusing. Do you want to know the memory usage for application and graphic (so you can define the split) or do you want to know the current CPU/GPU load?
@otakun85 I want to know the current usage of the applications so that I can make a good decision about where to make the split
@Jivings Yeah that was a good question. Is good to know that certain features come on and turn off depending on how much memory is allocated to GPU. If possible though it would be helpful to know the exact usage too determine which category I fall into
Элементы платы
Пины ввода-вывода (GPIO)
Внимание! В отличие от плат Arduino, напряжение логических уровней Raspberry Pi является 3,3 В. Максимальное напряжение, которое могут выдержать пины ввода-вывода составляет 3,3 В, а не 5 В. Подав напряжение, например 5 В, можно вывести одноплатник из строя.
Пины общего назначения: 28 пинов: 3 , 5 , 7 , 8 , 10 – 13 , 15 , 16 , 18 , 19 , 21 – 24 , 26 – 29 , 31 – 33 , 35 – 38 и 40
Могут работать как на вход, так и на выход. Логический уровень единицы — 3,3 В, а нуля — 0 В.
BCM / GPIO Pin: 28 пинов
Нумерация контактов процессора Broadcom. Может пригодиться при работе с пакетом Rpi.GPIO.
WiringPi Pin: 28 пинов
Нумерация контактов для пакета Wiring Pi. Это Arduino-подобная библиотека для работы с GPIO-контактами.
ШИМ: Позволяет выводить аналоговое напряжение в виде ШИМ-сигнала из цифровых значений. На Raspbery Pi 4 два канала ШИМ по два потока в каждом.
В данной статье рассмотрим как производить мониторинг температуры процессора, а также загруженность процессора и оперативной памяти. В общем полный hardware мониторинг.
После установки Home Assistant на raspberry pi, первым делом что я хотел добавить, это мониторинг температуры процессора. Так как моя малинка была без радиаторов и кулеров. Погуглив и разобравшись немного в том как это сделать, решил и Вам показать. Может кому-то это будет интересно.
Установка аддона File Editor.
Конфиг System monitor.
В данном конфиге описано, что это sensor, платформа у него “systemmonitor” и тип сенсоров “процент использованного простренства hdd”. “Свободной оперативной памяти”. “Загрузки процессора” и “Температуры процессора”. Тип сенсоров взят из страницы с официального статуса и выглядит он следующим образом:
Описания на странице данных типов сенсоров нет, но из их названия довольно легко понять что они делают. И исходя из этого добавить уже те типы которые нам необходимы.
После добавления всех сенсоров, сохраняем конфиг, нажав на дискетку. Далее заходим в Настройки->Сервер->Проверка конфигурации. Если проверка конфигурации прошла успешно, то значит мы все добавили правильно. И тогда на этой же вкладке Перезапустим Home Assistant, чтоб система перепрочитала измененный конфиг configuration.yaml и добавила новые компоненты в систему.
Добавление сенсоров на главный экран.
Чтоб добавить данные сенсоры на главный экран, после перезагрузки системы необходимо зайти на вкладку “Обзор” далее нажать на плюсик. Далее в открывшемся окне можно выбрать, что мы хотим добавить. Каточки или объекты. Для наглядности лучше выбрать карточки и выбрать какой карточкой мы хотим это наблюдать. Либо графиком, либо шкалой, либо объектом. Пример выглядит так:
После выбора нужной нам карточки, появится настройка карточки и здесь нам нужно в поле “Объект” выбрать из списка наш сенсор который мы в конфигах добавили ранее. С каждым разом при добавлении новых вещей в конфиг, количество объектов будет увеличиваться. Вот на следующем скрине видно, как в поле “объект” мы выбрали sensor.proccessor_temperature. Это какраз сенсор отслеживающий температуру малинки.
Ну и после добавления всех сенсоров, Главный экран Home Assistant Будет выглядеть примерно так как скрин начала статьи.
Так же все это п шагам и подробно рассказываю и показываю в видео:
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 - показать температуру и напряжение кольцевого осциллятора
Цифровые HDMI аудио/видеовыходы
HDMI-разъёмы предназначены для вывода цифрового видео и звука на мультимедийные устройства, например на HDMI-дисплеи или мониторы. Два разъёма позволяют одновременно выводить изображение на разные экраны. Для коммуникации используйте HDMI-кабель с дополнительным переходником или готовый кабель HDMI — micro-HDMI.
Установка и настройка
Для начало работы с одноплатником Raspberry Pi 4 выполните шаги из мануала по подготовке и настройке Raspberry Pi.
Светодиодная индикация
Имя светодиода | Назначение |
---|---|
PWR | Индикация питания платы. |
ACT | Индикация активности с SD-картой. Во время работы с картой должен активно мигать. |
Пины питания
3V3: 2 пина: 1 и 17
Выходные пин от стабилизатора напряжения с выходом 3,3 вольта. На плате контакты электрически связаны между собой.
GND: 8 пинов: 6 , 9 , 14 , 20 , 25 , 30 , 34 и 39 .
Вывод общей земли. На плате контакты электрически связаны между собой.
Порт камеры CSI
Разъём CSI под шлейф предназначен для подключения MIPI камер для Raspberry Pi.
Cлот microSD
На обратной стороне платы, расположен cлот для установки microSD-карты с операционная системой в Raspberry Pi. Перед началом работы запишите свежий образ Raspberry Pi OS на карту памяти или воспользуйтесь готовым решением.
Видеообзор платформы
USB-порты
На торце платы находится два порта USB 2.0 и два USB 3.0, которые предназначены для подключения мультимедийной периферии: клавиатуры, мыши и других USB-девайсов.
Разъём питания
Разъём USB Type-C предназначен для питания Raspberry Pi.
Потребляемый ток может достигать до 3 ампер. Для стабильной работы используйте зарядник на 5 В совместно с кабелем USB (A — Type C).
Пины управления питанием платы и процессора
Имя пина | Назначение |
---|---|
PEN | Контакт предназначен для управление питанием платы (Power ENable) и всех органов управления. При подаче низкого уровня, напряжение на плату максимально ограничено и одноплатник выключен, при подачи высокого — малина переходит в штатный режим работы. Подключите пин к внешнему контроллеру и управляйте включением малины удалённо. |
RUN | Контакт предназначен для управление питанием процессора BCM2711. При подаче низкого уровня одноплатник переход в спящий режим, при подачи высокого — в штатный режим работы. Используйте пин для внешней перезагрузки малины. |
Распиновка
Physical Board Pin: 40 пинов: 1 – 40
На плате расположена гребенка из 40 контактов, которые условно можно поделить на пины питания и пины ввода-вывода. По умолчанию будем использовать именно нумерацию физических контактов.
Пины ввода-вывода
На Raspberry Pi 4 Model B находятся 40 контактов GPIO для подключения цифровых датчиков, модулей расширения и другой периферии. Все подробности о пинах читайте в разделе распиновка.
К сожалению, в компьютерах Raspberry Pi нет встроенного аналого-цифрового преобразователя для подключения аналоговых датчиков. Используйте плату расширения Troyka Cap, которая добавит малине аналоговые пины.
Порт DSI
Разъём DSI под шлейф предназначен для подключения RGB-дисплеев для Raspberry Pi.
Модуль Wi-Fi и Bluetooth
За беспроводную передачу данных отвечает микросхема Cypress CYW43438 с поддержкой Wi-Fi 802.11b/g/n/ac (2,4 и 5 ГГц) и Bluetooth 5.0 с BLE.
Аналоговый аудио/видеовыход
Комбинированный 4-контактный разъём 3,5 мм служит выходом для аналогового аудио и композитного видео PAL/NTSC.
7 Answers 7
One easy solution is to get the Raspberry Pi itself to manage how the RAM is split between the CPU and GPU with dynamic memory split. While raspi-config cannot do this for you, there are example settings for /boot/config.txt available on the forums.
If you are using the open source GPU drivers -- vc3-fkms-v3d & vc4-kms-v3d -- the dynamic split is enabled -- but if you are using the broadcom closed source drivers, well.. according to the raspberry pi kernel developers, the dynamic split with the broadcom closed source drivers -- A.K.A. CMA split -- never worked right and is currently not recommended (the reference is somewhere on the raspberry pi's kernel development project on github).
You can get a real-time view of memory usage using either the top or htop command. You may need to install htop if you get the message htop: command not found . Assuming you are using Raspbian, install it by running sudo apt-get install htop
Plus, if you are using a multi-core machine such as RPi 2 you see the load for each core in a nice bar graph, and for example when you see 'python' in the list of tasks it shows the entire comamnd line so you see which program is running
@jpwynn Note that with top you press 1 and you see all processors too. But I agree that htop is generally better/easier to use.
For CPU usage and system memory, try the htop command, its very detailed and customizable, if this doesnt work use top (or rather apt install htop ).
GPU memory usage (amongst many other details) can be seen with /opt/vc/bin/vcdbg reloc stats . Total memory is at the top and free memory is at the bottom
Regarding the optimum CPU/GPU split. It really depends on what you are using your RPi for. If your not playing videos and games (GPU optimized), then give the CPU the most amount of RAM. Also if your running "headless" (Not connected to a screen) then assign the CPU as much RAM as you can.
Chromium GPU support is deeply dependent on what version of RPi you have and formats. And what you expect to be off loaded to the GPU.
Одноплатный компьютер Raspberry Pi 4 Model B — полноценный бесшумный компьютер размером с банковскую карту из семейства «малиновых пирогов». На борту платы расположены четыре порта USB, беспроводной модуль Wi-Fi / Bluetooth и полноценный гигабитный Ethernet, чтобы сразу приступить к работе.
Raspberry Pi 4 выпускается в разных версиях, в зависимости от количества оперативной памяти:
Платы отличаются только количеством оперативной памяти, процессор и другие характеристики одинаковы.
Чип SoC Broadcom BCM2711
Сердце компьютера Raspberry Pi 4 Model B — чип SoC Broadcom BCM2711, который выполнен по технологии SoC (англ. System-on-a-Chip — система на кристалле). Кристалл включает в себя 4-ядерный процессор CPU Cortex-A72 с тактовой частотой 1,5 ГГц и графический двухъядерный сопроцессор GPU VideoCore VI с тактовой частотой 500 МГц.
Оперативная память LPDDR2 SDRAM
За выполнения и хранения данных в реальном времени на одноплатнике расположена оперативная память LPDDR2 SDRAM объёмом от 1 ГБ до 8 ГБ, которая делится между CPU и GPU. В зависимости от количества памяти, малины хватит для задач от управления датчиками до создания IPTV приставки для просмотра телеканалов.
Объём оперативной памяти зависит от выбранной модели Raspberry Pi 4.
Читайте также: