个人从来没有试过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
在我的树莓派上超频前后 结果几乎相同,就是说尽管频率值略有变化,但基准测试结果并没有明显变化
结论
超频后性能变化不明显,可能的原因包括
- 首先是我用的树莓派3B+尽可能出厂就已经超频了
- 也可能是配置的值不正确
- 也可能基准测试并不能准确反映性能的变化