通过 SDRAM 调整提升树莓派的性能

本文转自 公众号梦兽编程。对 SDRAM 的超频给挖掘树莓派的性能提供了一种新思路和更有效的方法。

树莓派工程师调整了 Pi 的 SDRAM 时序和其他内存设置,在默认的 2.4 GHz 时钟下实现了 10-20%的速度提升。我当然要测试超频,这让我在 3.2 GHz 时获得了 32% 的速度提升!这些更改可能很快就会在所有 Pi 5 和 Pi 4 用户的固件更新中推出。

树莓派的工程师们正在进一步调整内存时序,他们与美光公司进行了沟通,并实施了一系列小的调整,这些调整——连同 NUMA 模拟——真正为多核工作负载带来了性能提升。甚至对单核也有小小的改进!

SDRAM 刷新间隔目前使用默认数据表设置。实际上可以监控 SDRAM 的温度,并报告是否可以以一半或四分之一的速度刷新。这允许由于刷新而产生的开销减少一半或四分之一,从而确实改善了基准测试结果。

据相关报道称:实际上用 4GB 刷新率时序(而不是较慢的 jedec 时序)测试了他们的 8GB sdram,因此使用 4GB 时序运行 8GB 部件是安全的。

微调也可以为 Pi 4 提供提升,但 Pi 5 的改进更为显著:

Pi 5 还具有更快的 SDRAM,对 SDRAM 的访问更好(即更宽/更快的内部总线),因此 NUMA 的改进通常更大。我们需要进行两部操作,分别是 SDRAM 调整和 NUMA 模拟。

SDRAM 调整

为了获取目前最新的 RAM 加速(这很快可能成为默认设置):

1. 升级树莓派的固件到最新版本, 我们可以通过 rpi-update ,进行更新。

sudo rpi-update

1. 编辑引导加载程序配置:

sudo rpi-eeprom-config -e
# 添加配置 SDRAM_BANKLOW=1
reboot

NUMA 模拟

要使用 NUMA,您只需确保您使用的是最新的 Pi OS

sudo apt full-upgrade

要检查NUMA模拟是否正常工作,请运行dmesg | grep NUMA并确保它显示类似于mempolicy: NUMA default policy overridden to ‘interleave:0-7’的信息。如果你想调整设置,可以在 /boot/firmware/cmdline.txt中添加numa=fake=[n] ,尽管默认设置对大多数使用情况来说应该是合适的。

超频

这一步可有可无,如果没有自己外装风扇的话建议不要进行OC操作,可能你的板子不保。 我在 /boot/firmware/config.txt 中设置了以下内容:

over_voltage_delta=72000
arm_freq=3200
gpu_freq=1000

重启后,我将风扇设置为 100%,使用我的 pi-overvolt 项目黑掉了内核以提升核心电压,并将缩放管理器设置为 performance :

$ pinctrl FAN_PWM op dl
$ cd pi-overvolt && sudo ./removelimit && vcgencmd cache_flush
$ echo performance | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor

这些优化可能很快就会成为默认设置。内存速度与许多 RK3588 板相比一直是 Pi 5 的痛点。看到 SDRAM 调整给它带来显著的提速,发布一年后仍然令人欣慰。



坐沙发

发表评论

你的邮件地址不会公开


*