На прошлой недели проводилось тестирование производительности на Raspberry Pi 4 и было обнаружено, что использование платы без охлаждения вызовет серьезные проблемы с производительностью, поэтому в некоторых случаях плата работала даже медленнее, чем Raspberry Pi 3 model B и все это было из-за сильного перегрева.
После недавних экспериментов с LibreELEC, на плату Raspberry Pi 4 был установлен большой радиатор с термопастой для охлаждения, а также была переустановлена ОС Raspbian Buster Desktop.
Поэтому теперь снова будут проведены тесты с радиатором и без него, но на этот раз будет запускаться только sbc-bench.
Установка SBC Bench
Откройте окно терминала или подключитесь к плате через SSH и запустите команду:
1 |
wget https://raw.githubusercontent.com/ThomasKaiser/sbc-bench/master/sbc-bench.sh |
При первой загрузке Raspbian Buster автоматически получит последние пакеты операционной системы, но, очевидно, не последнюю версию прошивки:
1 2 3 4 |
/opt/vc/bin/vcgencmd version Jun 20 2019 16:04:31 Copyright (c) 2012 Broadcom version 407b1da8fa3d1a7108cb1d250f5064a3420d2b7d (clean) (release) (start) |
Поэтому была запущена команда rpi-update, чтобы получить самую последнюю версию прошивки и после этого плата была перезагружена:
1 2 3 4 |
/opt/vc/bin/vcgencmd version Jun 26 2019 17:42:42 Copyright (c) 2012 Broadcom version 1186f932808ed601ddd583a30a3ce055477b1a26 (clean) (release) (start) |
Обычно вам этого не нужно делать, но поскольку плата Raspberry Pi 4 является действительно новой, так что в самом начале следует ожидать частых изменений (changelog). Вам следует обратить внимание на предупреждение в rpi-update:
ВНИМАНИЕ: ‘rpi-update’ обновления для предварительных версий прошивки linux kernel tree и Videocore.
‘rpi-update’ следует использовать только в том случае, если для этого есть особая причина – например, запрос инженера Raspberry Pi.
Результаты с радиатором для охлаждения
Комнатная температур была: 28°C. Время работы, температура в режим холостого хода и частота процессора:
1 2 3 4 5 6 |
pi@raspberrypi:~ $ uptime 17:00:51 up 2 min, 3 users, load average: 0.37, 0.33, 0.13 pi@raspberrypi:~ $ /opt/vc/bin/vcgencmd measure_temp temp=60.0'C pi@raspberrypi:~ $ /opt/vc/bin/vcgencmd measure_clock arm frequency(48)=600169920 |
Результаты тестов:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
sudo /bin/bash ./sbc-bench.sh -c sbc-bench v0.6.7 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: 2540.1 MB/s memset: 3541.8 MB/s (0.4%) 7-zip total scores (3 consecutive runs): 5520,5329,5342 OpenSSL results: type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes 16384 bytes aes-128-cbc 62337.00k 76517.57k 83103.06k 84397.40k 85174.95k 85103.96k aes-128-cbc 62385.73k 76696.34k 82954.50k 84633.94k 85035.69k 85169.49k aes-192-cbc 56248.36k 67203.52k 72105.90k 73188.35k 73454.93k 73564.16k aes-192-cbc 56125.90k 67502.17k 71853.82k 73263.45k 73610.58k 73422.17k aes-256-cbc 51001.95k 59901.03k 63540.65k 64509.95k 64828.76k 64875.18k aes-256-cbc 50713.81k 60062.34k 63573.93k 64478.89k 64927.06k 64782.34k Full results uploaded to http://ix.io/1MUi. Please check the log for anomalies (e.g. swapping or throttling happenend) and otherwise share this URL. |
Мониторинг частоты / температура в течение 7-Zip:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
pi@raspberrypi:~ $ sudo ./sbc-bench.sh -m Time fake/real load %cpu %sys %usr %nice %io %irq Temp VCore 17:21:17: 1500/1500MHz 4.00 25% 1% 22% 0% 1% 0% 76.9°C 0.8613V 17:21:22: 1500/1500MHz 4.00 98% 1% 96% 0% 0% 0% 78.4°C 0.8613V 17:21:27: 1500/1500MHz 4.08 69% 4% 64% 0% 0% 0% 78.4°C 0.8613V 17:21:37: 1500/1500MHz 4.07 82% 6% 56% 0% 19% 0% 76.0°C 0.8613V 17:21:46: 1500/1500MHz 4.43 82% 3% 35% 0% 43% 0% 75.0°C 0.8613V 17:21:51: 1500/1500MHz 4.31 33% 3% 13% 0% 16% 0% 73.0°C 0.8613V 17:21:56: 1500/1500MHz 4.13 49% 1% 47% 0% 0% 0% 73.5°C 0.8613V 17:22:02: 1500/1500MHz 4.12 84% 3% 65% 0% 16% 0% 77.9°C 0.8613V 17:22:07: 1500/1500MHz 4.27 51% 2% 49% 0% 0% 0% 75.5°C 0.8613V 17:22:12: 1500/1500MHz 4.25 89% 3% 85% 0% 0% 0% 77.4°C 0.8613V 17:22:17: 1500/1500MHz 4.22 94% 2% 91% 0% 0% 0% 78.9°C 0.8613V 17:22:22: 1500/1500MHz 4.13 80% 3% 77% 0% 0% 0% 78.4°C 0.8613V 17:22:27: 1500/1500MHz 4.12 96% 1% 94% 0% 0% 0% 79.4°C 0.8613V 17:22:32: 1500/1500MHz 3.87 77% 4% 72% 0% 0% 0% 77.9°C 0.8613V 17:22:37: 1500/1500MHz 3.80 84% 3% 80% 0% 0% 0% 78.4°C 0.8613V 17:22:52: 1500/1500MHz 4.53 91% 10% 71% 0% 9% 0% 76.4°C 0.8613V 17:22:58: 1500/1500MHz 4.33 54% 3% 36% 0% 14% 0% 75.5°C 0.8613V 17:23:03: 600/ 600MHz 4.30 77% 4% 61% 0% 11% 0% 76.0°C 0.8613V 17:23:08: 1500/1500MHz 4.28 85% 6% 76% 0% 2% 0% 76.9°C 0.8613V |
Температура всегда была ниже 80 °C и никогда не превышала максимальную допустимую отметку в 85°C.
Результаты без радиатора
Далее был снят радиатор для охлаждения и плата минут 10 не включалась для того, чтобы дать ей остыть.
Комнатная температура была: 28 ° С. Температура в режим холостого хода:
1 2 3 4 5 6 |
pi@raspberrypi:~ $ uptime 17:30:16 up 4 min, 4 users, load average: 0.05, 0.18, 0.09 pi@raspberrypi:~ $ /opt/vc/bin/vcgencmd measure_temp temp=64.0'C pi@raspberrypi:~ $ /opt/vc/bin/vcgencmd measure_clock arm frequency(48)=600169920 |
Таким образом, в режиме холостого хода через 3 минуты работы без радиатора температура была выше на 4°C, чем с радиатором.
Результаты тестов:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
sudo /bin/bash ./sbc-bench.sh -c sbc-bench v0.6.7 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..../sbc-bench.sh: line 600: 26143 Killed taskset -c 0 "${SevenZip}" b -mmt 1 >> ${TempLog} Done. Checking cpufreq OPP... Done. ATTENTION: Throttling and frequency capping has occured. Check the log for details. Memory performance: memcpy: 2606.8 MB/s (0.1%) memset: 3715.6 MB/s (0.6%) 7-zip total scores (3 consecutive runs): 5010,4199,4060 OpenSSL results: type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes 16384 bytes aes-128-cbc 62618.39k 76668.97k 83098.11k 84445.18k 85207.72k 85256.87k aes-128-cbc 55602.85k 73856.09k 82227.71k 84523.35k 85125.80k 85185.88k aes-192-cbc 56274.63k 67320.43k 72087.98k 73332.39k 73457.66k 73602.39k aes-192-cbc 50073.79k 65060.65k 71326.63k 73138.52k 73220.10k 73400.32k aes-256-cbc 50936.85k 60008.47k 63549.78k 64555.69k 64913.41k 64935.25k aes-256-cbc 50874.31k 60056.68k 63686.74k 64486.06k 64891.56k 64815.10k Full results uploaded to http://ix.io/1MUy. Please check the log for anomalies (e.g. swapping or throttling happenend) and otherwise share this URL. |
Троттлинг действительно произошел и мониторинг частоты и температуры во время теста показывает, что температура приближается к 85°C, а реальная частота падает до 750 МГц для охлаждения системы:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
pi@raspberrypi:~ $ sudo ./sbc-bench.sh -m Time fake/real load %cpu %sys %usr %nice %io %irq Temp VCore 18:40:40: 1500/1500MHz 4.46 18% 1% 15% 0% 1% 0% 79.9°C 0.8595V 18:40:45: 1500/1500MHz 4.69 50% 2% 1% 0% 46% 0% 77.9°C 0.8595V 18:40:55: 1500/1500MHz 4.79 80% 5% 42% 0% 32% 0% 80.3°C 0.8595V 18:41:00: 1500/1500MHz 4.59 41% 3% 19% 0% 18% 0% 80.8°C 0.8595V 18:41:05: 1500/1500MHz 4.46 53% 1% 49% 0% 1% 0% 80.3°C 0.8595V 18:41:10: 1500/1000MHz 4.42 86% 2% 76% 0% 7% 0% 82.8°C 0.8595V 18:41:15: 1500/1500MHz 4.47 50% 2% 47% 0% 0% 0% 80.8°C 0.8595V 18:41:20: 1500/1000MHz 4.43 91% 1% 89% 0% 0% 0% 82.8°C 0.8595V 18:41:25: 1500/1000MHz 4.39 86% 2% 83% 0% 0% 0% 81.8°C 0.8595V 18:41:30: 1500/1000MHz 4.36 90% 1% 89% 0% 0% 0% 82.3°C 0.8595V 18:41:36: 1500/1000MHz 4.17 78% 5% 72% 0% 0% 0% 83.3°C 0.8595V 18:41:41: 1500/1000MHz 4.08 89% 2% 87% 0% 0% 0% 82.8°C 0.8595V 18:41:46: 1500/ 750MHz 4.07 93% 2% 90% 0% 0% 0% 85.2°C 0.8595V 18:41:51: 1500/1000MHz 3.91 68% 3% 64% 0% 0% 0% 83.3°C 0.8595V 18:41:56: 1500/1000MHz 3.83 82% 3% 78% 0% 0% 0% 82.3°C 0.8595V 18:42:13: 1500/1500MHz 4.64 79% 6% 47% 0% 24% 0% 81.3°C 0.8595V 18:42:19: 1500/1500MHz 4.35 32% 3% 11% 0% 17% 0% 79.9°C 0.8595V 18:42:24: 1500/1500MHz 4.16 50% 1% 48% 0% 0% 0% 82.3°C 0.8595V 18:42:29: 1500/1000MHz 3.99 80% 3% 68% 0% 9% 0% 82.3°C 0.8595V |
Сравнительная таблица и диаграмма
Таким образом, результаты однопотокового теста не зависят от наличия радиатора, но вот на многопоточное сжатие 7-zip, безусловно, очень сильно влияет.
Benchmark | Raspberry Pi 4 “Naked” | Raspberry Pi 4 “Heatsink” | Ratio |
memcpy | 2608.8 | 2540.1 | 97.37% |
memset | 3715.6 | 3541.8 | 95.32% |
7-zip | 4423 | 5397 | 122.02% |
OpenSSL aes-256-cbc 16KB | 64891.56k | 64782.34k | 99.83% |
Различия для memcpy, memset и OpenSSL являются просто статистической погрешностью. Но Raspberry Pi 4 с радиатором более чем на 20% быстрее для сжатия 7-zip, поскольку не происходит троттлинга во время теста.
Выражаем свою благодарность источнику из которого взята и переведена статья, сайту cnx-software.com.
Оригинал статьи вы можете прочитать здесь.