Проверка Raspberry Pi OS 64-бит на Raspberry Pi 4 с 8 ГБ ОЗУ

Пару недель назад была выпущена Raspberry Pi 4 с 8 ГБ оперативной памяти вместе с бета-версией Raspberry Pi OS 64-бит. Обратите внимание, что в настоящее время вы должны использовать 32-битную версию ОС Raspberry Pi (ранее известную как Raspbian), поскольку в 64-битной версии все еще есть ошибки и отсутствует ряд функций, но нам интересно увидеть текущие изменения, поэтому мы установили raspios_arm64-2020- 05-28 / 2020-05-27-raspios-buster-arm64.zip и не имели проблем с загрузкой платы.

Информация о системе Raspberry Pi OS 64-бит

Настраиваем язык, время, сеть и т. д. и убедившись, что ОС обновлена, мы извлекаем некоторую информацию:

pi@raspberrypi:~ $ cat /proc/cpuinfo 
processor : 0
BogoMIPS : 108.00
Features : fp asimd evtstrm crc32 cpuid
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x0
CPU part : 0xd08
CPU revision : 3
...
Hardware : BCM2835
Revision : d03114
Serial : 10000000694c8ae2
Model : Raspberry Pi 4 Model B Rev 1.4

У нас есть Raspberry Pi 4 Model B Rev 1.4 с 8 ГБ памяти (редакция: d03114), образ поставляется с 64-битным ядром Linux:

pi@raspberrypi:~ $ uname -a
Linux raspberrypi 5.4.42-v8+ #1319 SMP PREEMPT Wed May 20 14:18:56 BST 2020 aarch64 GNU/Linux

и мы получаем 64-битные rootfs.

pi@raspberrypi:~ $ file /bin/busybox 
/bin/busybox: ELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, for GNU/Linux 3.7.0, BuildID[sha1]=fdf7b3dd496e8fd678a0bda5540f9fae4d313d8f, stripped

Все отлично!

Известные проблемы

Прежде чем приступить к рассмотрению, давайте рассмотрим известные проблемы:

1) Нет аппаратного ускорения видео в VLC или Chromium
2) libraspberrypi0, libraspberrypi-dev и libraspberrypi-doc были перемещены из /opt/vc/* и вместо этого в /usr/* (что делает его более стандартным). Любой код, созданный для этих библиотек, потребует изменения для ссылки на более стандартное расположение (/usr/lib/, а не /opt/vc/lib)
3) Из-за пункта 2) Многие пакеты, на которые рассчитывает libGLESv2.so libEGL и т. д., потребуют пересоздания.
4) raspberrypi-bootloader и raspberrypi-kernel содержат бесполезные, не 64-битные двоичные файлы и не выполняют работу по минимизации задержки между файлами, которые удаляются и устанавливаются в /boot
5) Для AArch64 не существует Wolfram Mathematica
6) Слой Minecraft требует восстановления, чтобы справиться с пунктом 2)
7) VLC необходимо перестроить (не доступно)
8) VNC сервер еще не перестроен для 64 бит

Тесты Raspberry Pi OS 64-бит

Большинство тестов не чувствительны к объему ОЗУ (если не происходит перестановка), но мы все же установили sbc-bench для сравнения с результатами, полученными с Raspberry Pi 4 (1 ГБ ОЗУ) с использованием 32-битной Raspbian Buster:

wget https://raw.githubusercontent.com/ThomasKaiser/sbc-bench/master/sbc-bench.sh
chmod +x sbc-bench.sh

Результаты SBC Bench:

sudo ./sbc-bench.sh 
 
sbc-bench v0.7.2
 
Installing needed tools. This may take some time... Done.
Checking cpufreq OPP... Done.
Executing tinymembench. This will take a long time... Done.
Executing OpenSSL benchmark. This will take 3 minutes... Done.
Executing 7-zip benchmark. This will take a long time... Done.
Checking cpufreq OPP... Done.
 
It seems neither throttling nor frequency capping has occured.
 
Memory performance:
memcpy: 2503.6 MB/s (0.2%)
memset: 3359.5 MB/s (0.5%)
 
7-zip total scores (3 consecutive runs): 5083,5065,5099
 
OpenSSL results:
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-cbc      38070.54k    40669.85k    41716.22k    42029.40k    42131.46k    42177.88k
aes-128-cbc      38065.38k    40746.26k    41775.96k    42064.21k    42229.76k    42292.57k
aes-192-cbc      32294.31k    34105.22k    35048.28k    35303.42k    35351.21k    35351.21k
aes-192-cbc      32254.74k    34136.98k    35043.33k    35301.38k    35367.59k    35367.59k
aes-256-cbc      27986.06k    29351.96k    29962.33k    30127.79k    30173.87k    30179.33k
aes-256-cbc      27986.74k    29372.25k    29969.24k    30119.25k    30160.21k    30157.48k
 
Full results uploaded to http://ix.io/2paq. Please check the log for anomalies (e.g. swapping
or throttling happened) and otherwise share this URL.

Обратите внимание, что мы используем алюминиевый корпус KKSB, поэтому охлаждение не будет проблемой. В таблице ниже представлен сравнительный график (чем выше, тем лучше для всех результатов).



Raspberry Pi 4 с тактовой частотой 1.5 ГГц
Raspbian 32-бит – 1 ГБ RAM
Raspberry Pi 4 с тактовой частотой 1.5 ГГц
бета-версия RPI OS 64-бит – 8 ГБ RAM
memcpy (МБ/с)2,662.52,503.6
memset (МБ/с)3,436.93,359.5
OpenSSL AES-256-CBC 16K64,951.64k30,157.48k
7-zip5,397*5,082.33
*Результат 7-zip для более раннего теста с радиатором Raspberry Pi 4 + (не KKSB), так как в обзоре KKSB 7-zip не хватило памяти и процесс не был завершен.

Как мы видим, 64-битная ОС работает медленнее во всех четырех результатах. Различия незначительны для memset/memcpy, примерно на 6% ниже для 7-zip и огромные 50 +% для шифра AES-256. Мы не должны сильно удивляться последним, поскольку в январе прошлого года кто-то сравнивал 32-разрядную и 64-разрядную ОС Debian на Raspberry Pi с аналогичными результатами для AES-256-SBC 16 КБ в сценарии sbc-bench, но каким-то образом SHA1SUM (криптографические хеш-функции SHA1) были намного быстрее с 64-битной ОС.

Особенности тестирования и многозадачности на Raspberry Pi OS 64-бит

Теперь давайте попробуем запустить обычные программы, чтобы выяснить потенциальные ошибки или ограничения, и посмотрим, когда общее использование памяти превысит 4 ГБ ОЗУ, что сделает переход на 8 ГБ ОЗУ оправданным.

Мы отслеживали общее использование памяти с помощью htop (used + buffers + cache), и сначала запустили браузер Chromium с несколькими вкладками, YouTube и игру Facebook (Candy Crush Saga), загрузили VLC, Thunderbird, LibreOffice с файлом .odt и GIMP с фото.

Мы также запустили glxgears -info, чтобы убедиться, что ускорение графики работает (это было очевидно из Candy Crush Saga),

glxgears -info
Running synchronized to the vertical refresh.  The framerate should be
approximately the same as the monitor refresh rate.
GL_RENDERER   = V3D 4.2
GL_VERSION    = 2.1 Mesa 19.3.2
GL_VENDOR     = Broadcom

и воспроизводили видео 720p и 1080p (H.264 / H.265) в VLC. Вы можете проверить все шаги в видео ниже.

Подводя итог, можно сказать, что 64-битная ОС Raspberry Pi уже достаточно стабильна. У нас не было больших проблем с Chromium, за исключением того, что YouTube действительно начинает бороться с видео 1080p из-за отсутствия аппаратного декодирования видео на этом этапе, а Candy Crush Saga (HTML5) действительно долго загружается, но, после загрузки, игры воспроизводятся плавно. Мы могли воспроизводить видео 720p и 1080p H.264 с VLC, но видео 720p и 1080p H.265 были нестабильны из-за отсутствия аппаратного декодирования видео.

Так когда же мы использовали более 4 ГБ ОЗУ? После того, как мы открыли восемь вкладок в Chromium, Thunderbird с учетной записью Gmail, один текстовый файл с LibreOffice Write, GIMP с одной фотографией, Thunderbird, два терминала и VLC (без воспроизведения видео). Результаты немного сложнее анализировать, чем кажется на первый взгляд, поскольку используемая память (1,92 ГБ) соответствует фактической памяти, занятой программами и ОС, в то время как буферы и кэш относятся к ОЗУ, выделенной системой для ускорения производительности ввода-вывода. Таким образом, на Raspberry Pi 4 с 4 ГБ ОЗУ мы могли бы использовать 1,92 ГБ используемой памяти и небольшие буферы и кэш-память без необходимости подкачки. Наконец, если вы оставите систему работать на более длительный период времени, кэш будет иметь тенденцию к увеличению, чтобы использовать всю память, так как «неиспользуемая память — это потеря памяти».

Мы также попытались собрать примеры в /usr/src/hello_pi/, но даже после исправления нового пути (/opt к /usr/src) сборка не завершится, выдавая ошибки, такие как:

triangle.c: In function ‘init_ogl’:
triangle.c:119:11: error: unknown type name ‘EGL_DISPMANX_WINDOW_T’
    static EGL_DISPMANX_WINDOW_T nativewindow;
           ^~~~~~~~~~~~~~~~~~~~~
...
/usr/bin/ld: cannot find -lbrcmGLESv2
/usr/bin/ld: cannot find -lbrcmEGL
/usr/bin/ld: cannot find -lopenmaxil

Библиотеки libbrcm* в настоящее время отсутствуют в каких-либо пакетах в Raspberry Pi OS 64-бит, что проверено с помощью командной строки aptitude. Документация к образцам устарела, поэтому мы не ожидаем, что они сработают в ближайшее время.

Выражаем свою благодарность источнику из которого взята и переведена статья, сайту cnx-software.com.

Оригинал статьи вы можете прочитать здесь.

1 2 votes
Article Rating
Подписаться
Уведомление о
guest

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

0 Комментарий
Oldest
Newest Most Voted
Inline Feedbacks
View all comments