树莓派如何超频?

个人从来没有试过PC上的CPU/GPU 超频,主要担心硬件损坏。树莓派倒是可以试试,买了它不就是想折腾吗?

开始前请先仔细阅读下面的内容

什么是超频?

在这里我们只讨论 CPU超频,CPU 超频通过提高时钟频率来提高其性能

什么是时钟?

我们在计算机中所说的时钟是每秒的脉冲数。它通常以 MHz 或 GHz 为单位测量,并在您购买 PC 时指示。
超频的目的是提高这个时钟的速度,以寻求计算机“功率”的改进

超频的风险

稳定性

有可能造成硬件损坏,后果自负哈,另外 提升的 CPU 频率越高,系统保持稳定的可能性就越小,因此,有必要在性能和稳定性之间做出折衷,超频就是在不影响稳定性的情况下多提升一点CPU性能,但不要期望将频率翻倍而不会出现问题

能量消耗

CPU是耗电大户之一,增加它的频率会稍微增加它的功耗,对于树莓派来说,通常影响是比较小的

散热

默认情况下,Raspberry Pi 的 CPU 发热非常小,无需采取额外的散热措施.超频的话可能需要考虑额外的散热措施
主芯片BCM2835在温度达到80°C 后会触发降频降核等机制,因此超频需要考虑安装散热片,避免CPU过热,还不够的话那就得上风扇了

寿命

CPU的超频可能会降低它的预期寿命,CPU 的运行时间通常超过 20 年,因此即使将预期寿命除以 2,也不是一个非常严重的问题

下面开始树莓派超频操作

测试基于下面的软硬件:
硬件:Raspberry Pi 3B +
软件: Raspbian Strech Lite

获取树莓派当前性能数据

用 Sysbench 来获取超频前后的性能数据

首先,用apt安装它:
sudo apt-get install sysbench
然后我们启动两个 CPU 测试,一个是多线程的,另一个是单线程的

sysbench --test=cpu --cpu-max-prime=2000 --num-threads=4 run
sysbench --test=cpu --cpu-max-prime=2000 --num-threads=1 run

记下这些值以将它们与超频后获得的值进行比较

超频树莓派

如本文开头所属,有两种方法:
一种使用 Raspbian 提供的工具(因此被认为是安全的)
另一种是通过修改配置文件

安全方式:raspi-config


先启动raspi-config

sudo raspi-config
然后进入超频菜单(Overclock menu)

一般情况下,会显示一个选项列表,然后选择需要超频的选型即可,然后应用配置。重启。
不建议直接选最高频率,最好先尝试中间的几个,然后看看树莓派的稳定性如何

注意对于最近的一些型号,由于 CPU 可能已经超频,使用 Raspi Config
会显示以下消息:
This Pi can not be overclocked

如果出现这种情况,可以试试第二种方法

自定义方法:config.txt

第二种可能性,风险更大,是直接在引导配置文件中更改值

该文件位于 /boot/config.txt

首先备份文件:

sudo cp /boot/config.txt /boot/config.txt.backup
然后打开文件:

sudo nano /boot/config.txt
在这里你会发现一些配置选项
我们感兴趣的是:
arm_freq:ARM CPU 的频率,以 MHz 为单位
core_freq:GPU 处理器的频率,以 MHz 为单位。它对CPU性能也有影响
over_voltage:CPU/GPU核心电压调整
对于此测试,我选择使用以下值:

arm_freq:1600
核心频率:500
过电压:4
arm_freq=1450
core_freq=500
过电压=4
请注意,这些是运行在 Raspberry Pi 3B + 的值。其它型号请自行了解对应的默认值 https://www.raspberrypi.com/documentation/computers/configuration.html

更改值后重新启动 Raspberry Pi
如果一切顺利,您可以重新进行基准测试,但如果出现问题

恢复

在大多数情况下,您可以在启动期间按住 shift 键来启动 Raspberry Pi
这将允许您进行常规启动,并能够更改 config.txt 中的值

万一无法启动了咋办??? 由于我们之前进行的备份(/boot/config.txt.backup),可以通过恢复配置文件来解决

恢复 Raspberry Pi 中的 SD 卡
插在电脑上
转到 /boot 文件夹
用备份替换修改后的文件(复制/粘贴)
将 SD 卡放回 Raspberry Pi 并启动

对性能的影响

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
注意返回的是 Hz 为单位的值

在超频的树莓派上再次运行

sysbench --test=cpu --cpu-max-prime=2000 --num-threads=4 run
sysbench --test=cpu --cpu-max-prime=2000 --num-threads=1 run

在我的树莓派上超频前后 结果几乎相同,就是说尽管频率值略有变化,但基准测试结果并没有明显变化

结论

超频后性能变化不明显,可能的原因包括

  1. 首先是我用的树莓派3B+尽可能出厂就已经超频了
  2. 也可能是配置的值不正确
  3. 也可能基准测试并不能准确反映性能的变化

发表评论