通过SDRAM调整提升树莓派的性能
通过SDRAM调整提升树莓派的性能
树莓派工程师通过调整SDRAM时序和其他内存设置,在默认的2.4GHz时钟下实现了10-20%的速度提升。这些优化措施可能很快就会成为所有Pi 5和Pi 4用户的默认设置。
树莓派的工程师们正在进一步调整内存时序,他们与美光公司进行了沟通,并实施了一系列小的调整,这些调整——连同NUMA模拟——真正为多核工作负载带来了性能提升。甚至对单核也有小小的改进!
SDRAM刷新间隔目前使用默认数据表设置。实际上可以监控SDRAM的温度,并报告是否可以以一半或四分之一的速度刷新。这允许由于刷新而产生的开销减少一半或四分之一,从而确实改善了基准测试结果。
据相关报道称:实际上用4GB刷新率时序(而不是较慢的jedec时序)测试了他们的8GB sdram,因此使用4GB时序运行8个8GB部件是安全的。
微调也可以为Pi 4提供提升,但Pi 5的改进更为显著:
Pi 5还具有更快的SDRAM,对SDRAM的访问更好(即更宽/更快的内部总线),因此NUMA的改进通常更大。我们需要进行两部操作,分别是SDRAM调整和NUMA模拟。
SDRAM调整
为了获取目前最新的RAM加速(这很快可能成为默认设置):
- 升级树莓派的固件到最新版本, 我们可以通过rpi-update,进行更新。
sudo rpi-update
- 编辑引导加载程序配置:
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调整给它带来显著的提速,发布一年后仍然令人欣慰。