导语:什么是超频树莓派? 超频是免费提升电脑硬件性能的最便捷途径,具体是指将CPU、显卡、内存等硬件设备的额定频率提升一定幅度,使之在更高频率下运行以达到更好的性能。所以超频也被认为是DIY玩家技术水平的体现,同时也是DIY厂商研发功底

Lead-magnet-Eltechs-1-w450.png

什么是超频树莓派?

超频是免费提升电脑硬件性能的最便捷途径,具体是指将CPU、显卡、内存等硬件设备的额定频率提升一定幅度,使之在更高频率下运行以达到更好的性能。所以超频也被认为是DIY玩家技术水平的体现,同时也是DIY厂商研发功底的衡量指标。

那具体到树莓派,我应如何超频该设备呢?不过在具体操作以前,我先要对所选择的设备进行选择。目前市场比较流行的是树莓派3和树莓派2两个型号。由于树莓派3的各方面性能都优于树莓派2,所以我通过超频和过压(overvoltage)等技术,就可以获得更大的功率。不过由于两个型号的基本技术特性类似,所以在树莓派3的超频技术也适用于树莓派2,不过超频的效果就要大打折扣了。

简而言之,超频是通过调整多个设备参数来提升树莓派硬件性能的方法。为此,需要额外的硬件和特殊的操作技能。

如果你想了解有哪些项目要用到超频树莓派,可以在本文末尾找到相关信息,或者考虑使用ExaGear Desktop软件进行测试。另外,请记住,你需要执行多个测试,以确保更改生效,且设备没有受到损坏。

超频可以提升电脑性能,那么超频需要做哪些准备工作呢?

首先是良好的硬件体制,CPU、内存和显卡都必须是健康的,在100%负荷下工作也能拥有合理的温度和功耗。

其次就是硬件准备,超频需要一块强大的主板做支撑,特别是主板供电部分,考虑到CPU和内存超频后功耗大增,高低电平信号要求不能模糊,所以主板的供电部分一定要达到4+1或者更高项数,这样每项供电的压力才能小。

最后超频还需要强大的散热器和电源,前者可以让CPU和显卡工作在合理温度下,提升超频潜能和超频过程的稳定性,后者可以给予硬件足够的电能支撑,即使功耗提升也能轻松应对。

这就意味着你在对树莓派3超频时会伴随一些风险。那么具体来说这些风险是什么,如何避免它们?

超频的相关风险警告

警告1

目前,还没有超频树莓派3的官方支持,所以你可能会损坏你的设备。所以先提前生命,你如果参考我的方法把树莓派弄坏了,我概不负责。所以重要的事情说三遍,超频前请谨慎! 

警告2

超频可能会将硬件升温至接近90°C。这又可能导致程序崩溃、CPU损坏、内存芯片损坏。为了防止这种情况,芯片的散热必须要非常好。由于风扇会增加冷却效果,因此强烈建议使用。所以重要的事情说三遍,不要在没有冷却的情况下进行超频。

超频时所需的额外硬件设备

如果你想超频你的树莓派,你需要配置三个重要的硬件配件:

1.树莓派,本文我使用了一个树莓派3模型B V1.2与Raspbian GNU/Linux 8(Jessie)运行。

2.电源,强烈建议使用可靠的电源,超频的树莓派3可以适用于1.5A甚至更高的电流。所以,本文的超频用的是2A。

3.冷却设备,为了防止树莓派设备过热,我必须找到风扇、散热器。

重要提示:你可以使用以下命令将安装的软件包升级到最新版本:

$ sudo apt-get update && sudo apt-get dist-upgrade

在开始和结束的过程中,你需要检查系统性能。你可以使用“sysbench”工具来轻松完成这个工作,它可以通过以下一个命令来实现安装。

$ sudo apt-get install sysbench

如下图所示,就是我所需要的全部超频设备。

2.png

详细来说,就是:

1.树莓派3;

2.电源电压为5伏,电流为2500毫安;

3.一个内置的风扇;

4.三个散热片;

5.一个带有内存降温空间和风扇空间的底座。

下图就是我将其组合好后的设备示意图:

3.png

请注意,在这张照片中,最大的散热器在风扇下方,铜制散热器在这张图的最底部。

超频前的例行检查

不过在开始超频树莓派之前,我还是要对一些超频条件进行准备和检查的。

监控CPU频率

要了解当前CPU的运行频率,我必须从/ sys / devices / system / cpu / cpu0 / cpufreq /目录中读取proc文件cpuinfo_min_freq,cpuinfo_max_freq和cpuinfo_cur_freq,其中:

cpuinfo_min_freq代表“空闲”模式的最小频率;

cpuinfo_max_freq代表最大频率;

cpuinfo_cur_freq代表树莓派的当前运行频率。

4.png

监控CPU温度

要知道当前的CPU温度,我可以运行vcgencmdmeasure_temp命令。另外,为了观察每一秒的温度,我可以像以下这样在“while”循环中运行它:

$ while true ; do vcgencmd measure_temp ; sleep 1 ; done

7.png

这样循环就开始运行,直到我用CTL + C终止它。

设置默认速度

树莓派电路板的默认CPU配置,在没有任务的情况下处于空闲模式,如下所示:

arm_freq = 600 mhz

core_freq = 250 mhz

如果进程正在运行当中,频率将上升到:

arm_freq = 1200

core_freq = 400(这是树莓派3的最大默认值)。

为了防止空闲模式被破坏,我必须在/boot/config.txt中设置这以下些行:

force_turbo = 1,注意!更改此参数会自动取消授权(warranty)

boot_delay = 1

之后,重新启动你的树莓派并再次检查当前的运行频率,现在应该设置为1200000KHz。

8.png

先在不超频的状态下进行树莓派的性能测试

第一次性能测试时,我运行的是以下命令。

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

输出结果如下:

10.png

此时,树莓派3的正常测试就结束了。

如何超频你树莓派3

树莓派超频选项

超频配置要在/boot/config.txt文件中设置,而要进行超频,我只需要在这个文件中设置各种系统配置参数。有以下6种方法实现超频:

1.超频树莓派 CPU,这意味着更改“arm_freq”参数 – ARM的频率(以MHz为单位);

2.超频树莓派 GPU,这意味着要更改“core_freq”参数 – GPU处理器内核的频率(以MHz为单位)。由于它驱动了L2缓存,因此它对ARM的性能会有影响;

3.超频树莓派内存,这意味着要更改“sdram_freq”参数 – SDRAM的频率,以MHz为单位;

4.树莓派内存的附加扩展,这意味着要通过压缩内存来使用ZRAM(具体请参阅下文);

5.额外的超频参数“Over_voltage”,它是ARM / GPU核心电压调整。只有当指定了“force_turbo”或“current_limit_override”参数(在授权位(warranty bit)中设置)时,才允许设置高于6的值;

6.额外的超频参数“Force_turbo”,此参数会禁用动态cpufreq驱动程序,并要求接下来的最小设置,此时授权无效。

在开始更改任何参数之前,请确保/boot/config.txt文件已备份。

由于不同型号的树莓派的性能各有差异,所以,只能通过尝试各种参数来确定正确的值。这意味,每个树莓派上的最佳值都要在各自的设备上单独进行测试才能找到。

超频时所出现的问题

大多数超频问题都会在发生时立即显示,并暂停启动。如果发生这种情况,请在下次启动时按住“shift”键。这将暂时禁用所有超频,允许你启动,然后再对相应的设置进行编辑。

超频方法

通过此方法,你就可以知道如何调整CPU,GPU和内存频率的值,从而获得更好的性能,这其中也包括调整“over_voltage”参数,其目的就是让超频硬件稳定工作。另外一种方法就是通过调整内存频率来超频你的树莓派3,此时,我将通过ZRAM的方式来进行监控。所以,我只需执行以下操作:

1.以下是树莓派3的默认值:

arm_freq=1200
gpu_freq=400
core_freq=400
sdram_freq=450/pre>
over_voltage_sdram=0

2.这样,我就可以向/boot/config.txt文件写入以下配置,然后重新启动树莓派。

arm_freq=1300
gpu_freq=500
sdram_freq=500/pre>
over_voltage_sdram=0

3.如果树莓派启动并运行,我可以进一步尝试下一个配置,即将arm_freq的值提高到1500,保存并重新启动。

4.如果你的树莓派无法启动或运行不稳定,请计算over_voltage_sdram的值,直到Pi运行正常。

5.如果调整over_voltage_sdram无助于稳定你的树莓派的运行或者连启动都无法进行,那么你必须减小arm_freq值直到树莓派再次运行。另外,请注意,每次更改/boot/config.txt文件后都必须重新启动系统。

如何用ZRAM超频

ZRAM方法是增加树莓派设备性能的附加选项,这种方法会要求你扩充内存,超频可以通过使用压缩内部存储器的ZRAM来完成。

ZRAM使用压缩算法LZ4和LZO,其中LZO是默认值,该算法会创建一个块设备(block device),它可以用于交换或作为通用的RAM磁盘。

如何加载ZRAM?由于ZRAM已经集成到Linux内核中,我只需要使用命令sudomodprobezram来加载模块即可。要检查ZRAM模块是否正在运行,请执行下面所示的命令sudolsmod| grep ZRAM。

13.png

如果我要为树莓派优化设置ZRAM,则可以从GitHub获取脚本zram.sh。该脚本为每个CPU内核都创建了一个额外的压缩RAM交换磁盘,并在不需要在进一步的配置,就可以将它们激活。

你可以使用以下命令下载脚本:

sudo wget -O /usr/bin/zram.sh https://raw.githubusercontent.com/novaspirit/rpi_zram/master/zram.sh

然后,使其可执行,如下所示。

15.png

现在,在激活ZRAM之前,先看看内存信息。 free -h和swap -s命令显示,我在树莓派中只激活了100MB的交换空间。

16.png

17.png

现在我可以用命令运行ZRAM:

sudo zram.sh

overclock-raspberry-pi-zram-5.png

该脚本将为每个CPU内核生成一个大小约为232 MB的交换空间,如果我再次通过free -h命令检查,它将显示交换空间增加到1GB。

19.png

通过再次运行swap -s,我可以看到有四个额外的交换空间分区被创建和运行。

20.png

为了在启动时将树莓派设置为自动运行的ZRAM,我必须编辑/etc/rc.local文件并退出0行之前插入/usr/bin/zram.sh&行。然后,你就可以检查/etc/rc.local文件的结尾。

21.png

重新启动树莓派后,就会出现配置了ZRAM内存的标识。不过,我还是要使用free -h和swap -s命令再次检查,以确保ZRAM启动并运行。

超频状态下的性能测试

现在,在我完成树莓派的超频后,我希望再次对树莓派进行一下性能测试,看看设备是否正常。为此,我会再次运行以下命令。

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

输出结果如下:

23.png

正如你所看到的,所有的测试值都比未超频时的要好,上图中,绿色标注的值是未超频时的运行值。

如何删除超频

如果你想从树莓派中删除超频,只需从/boot/config.txt文件中删除更改即可。如果你是通过创建备份文件的方法实现的,只需将其复制回/ boot目录并覆盖config.txt文件即可。

另外,你必须从/etc/rc.local文件中删除/usr/bin/zram.sh&行。然后重新启动树莓派,所有超频配置都将被禁用。

总结

现在我已经成功超频了我的树莓派设备,并可以开始在这个经过加速的ARM设备上做不同的有趣项目了。

另外,很多人都想知道他们的超频树莓派3究竟能用来做什么?

首先,如果你的树莓派在超频后运行稳定,那你肯定会得到更好的设备性能,运行速度,这不是很好嘛。例如,你可以尝试运行具有较高技术要求的x86应用程序,并运行负荷量较大的工作,例如大量运算。要在树莓派以及其他ARM设备上运行x86应用程序,你还需要额外的软件,比如,与Wine结合的Exagear Desktop。你可以在我的博客上找到很多这样的例子,比如:

1.树莓派上的Plex媒体服务器,在这个案例中,我安装并启动Plex来管理树莓派上的媒体集成应用。

2.在树莓派上运行Spotify,该案例包含了在树莓派上存储、传输和管理音乐(音频)文件的情况,它可以作为一个稳定和廉价的音乐存储服务器。

3.在树莓派上运行Dropbox,树莓派上的Dropbox会为你的项目文件构建自己的文件存储和智能备份系统。

4.树莓派上的TeamSpeak 3服务器(语音服务器),如果你是一个玩家(或一个玩家团队),那这个案例将会为你的团队创建一个音频通信环境。

5.谷歌Chrome上的树莓派,这个案例描述了在Raspbian上安装和运行Google Chrome浏览器的复杂任务,该浏览器可用于其他开源浏览器无法解决的任务。

6.在树莓派上的Netflix,这是Google Chrome浏览器使用情况的一个很好的案例。 Netflix可以通过这个浏览器更好地运行。但在实现技术上都相当有难度。事实上,在没有超频的情况下,在树莓派上运行Netflix这样的应用程序是相当困难的。

7.利用树莓派+RetroPie做一个怀旧游戏机,偶尔会好怀念小时候跟朋友一起玩小霸王的日子,那时候很少家里有游戏机的人,一台游戏机有好几个朋友在等着玩,那时候能玩的东西不多,但日子过得简单而开心。虽说现在万能的淘宝还可以买到小霸王游戏机,但是远远不如自己做一个出来的成就感来的强。

另外,请注意,Exagear Desktop几乎可以在树莓派和其他基于ARM的设备上运行任何x86应用程序,包括但不限于Odroid,Banana Pi,Beagleboard,Cubox,Jetson,Cubieboard等。

源链接

Hacking more

...