1.6 技巧06给你的Pi超频
树莓派不是一个特别快速的计算机,对于大多数项目,它可以提供足够的性能来完成工作。但是对于有的项目,你可能打算对硬件进行超频以获取更高一点的性能。
树莓派的硬件被设计成制造商所认为的可靠性和性能的最佳平衡。现在根据文档我们已经可以指出,它还自带了许多微调按钮。如果你觉得自己足够勇敢,你可以向上调节这些按钮来获得超出硬件之外的附加性能。
这就是那些很酷的家伙们口中所说的超频。自从PC时代来临,人们一直在超频自己的计算机。计算机的拥有者认识到,同一款Intel CPU的高端和低端型号之间的唯一区别就是其能否通过速度测试,通过的产品将贴上更高时钟速度的标签,而剩下的则被标识为较低的时钟速度。只有到了这时,超频才真正变成了常规行为。如果你足够幸运的话,你可以调整设置来获得更高的时钟速度。
如今,超频是指为了获取性能提升并超出默认硬件配置而做出的任何形式的设置更改。举一个例子,有些人使出浑身解数来提升性能,包括将整个系统浸在液氨冷却的Flourinert1中,这些人都是些疯子。
现在是个很好的时机提醒你:试图对你的树莓派进行的超频几乎可以肯定会造成硬件更快的损坏,也许是马上损坏。而它也不可能双倍提升你的性能,即使因为某种奇迹做到了,你可能也无法在超频后的树莓派上可靠运行任何东西。
还是那句话,这是一台35美元的计算机,而生命只有一次(当你决定真正听取这一忠告时,可以试试技巧40)。
请记住,树莓派的心脏是一个Broadcom的片上系统,采用了ARM CPU、Videocore IV GPU以及512MB RAM。上述的每一部分都有自己的时钟频率,而GPU还有几个用于其子组件的可调时钟频率。具体来说,GPU拥有一个核心频率、一个H264频率(H264硬件视频解码器块)、一个3D处理器频率以及一个图像传感器处理器频率。
你可以通过更改/boot/config.txt文件中的选项来调整所有的设置。此文件也许存在也许不存在,如果不存在的话,只要创建一个新的空文件就可以了。
1.6.1 提高ARM CPU频率
让我们先从效果最显著的超频开始:ARM CPU。ARM CPU的频率(arm_freq)默认是700MHz,将之加速到900MHz,在/boot/config.txt文件中添加这一行:
然后重新启动,硬件将竭尽所能来满足你的要求。但请记住,这不是变魔术,无论你多么希望能把30000000这个值作为频率,都是行不通的。具有丰富超频经验的人断定如果树莓派超频到900MHz以上,通常就不能成功了,除非你使用了过压(参见技巧07)。
1.6.2 提高SDRAM频率
另一种简单的超频方式是提高SDRAM存储器的频率。SDRAM存储器的频率(sdram_freq)默认是400MHz,你可以通过在/boot/config.txt文件中增加这一行来将之提高到500MHz,没有任何问题:
https://yqfile.alicdn.com/9b94bb032b0a13fe87ab682c64c6b4c6acb7559f.png" >
像arm_freq一样,你需要重启树莓派来使改动生效。
1.6.3 提高GPU频率
你的最后一个主要的超频选项是GPU组件,它的频率全部都由gpu_freq定义,默认都是250MHz。
gpu_freq是某种上级设置,设置它之后将给core_freq(GPU处理器核频率)、h264_freq(硬件视频块频率)、isp_freq(图像传感器管道块频率),以及v3d_freq(3D块频率)赋同样的值。如果你有图形处理器密集型任务,你可以通过提高gpu_freq到325来获得额外的性能。通过在/boot/config.txt文件中添加如下行做到这点:
https://yqfile.alicdn.com/eee832e46abf94918d8e57d6dcb2e10bdf6ec73d.png" >
尽管如此,我们不建议改变gpu_freq值,因为这将导致CPU性能下降。取而代之的是,你可以尝试只改变core_freq的值。如果你这样做,很重要的一点是保持所有的GPU频率(如前面列出)要么都相同要么都相差一个整数乘数因子。如果你不这么做的话,GPU组件接收到的是互不相容的脉冲和干扰与噪音的混合物,将会很快停止工作。
无论如何,因为core_freq的值也包括了L2高速缓存和一些SDRAM内存时钟周期,仅仅增加这个值就可以给ARM CPU带来性能提升。乘数的默认值是2(可以真正工作的最大整数),你可以在/boot/config.txt文件中像这样设置该值:
请注意,这可能无法工作。有些人报告成功,而一些人报告失败。如果你在尝试更改core_freq的时候,同时尝试了其他超频功能,则只有在它们被设置为低(或保留为默认值)时才可能会成功。
我们无论怎么强调都还不够:有时当超频失败时,它的性能会显著下降,可靠的程序变得很古怪,硬件随时会停止工作,而系统也可能会无故重启。
超频之后,你会希望能有一个量化的测试案例,让你可以一遍一遍地运行,看看超频给你关心的树莓派带来了多大工作负载的性能提升。不要简单的下载一个多用途的benchmark并相信它的测试结果,为显示GPU性能而设计的benchmark并不能帮助你优化超频树莓派系统执行CPU密集型任务。
1.6.4 预测试的超频预置模式
较新版本的树莓派固件包含5个超频(turbo模式)预置选项供用户进行选择,通过监控芯片的核心温度和CPU负载并动态调整时钟速度及核心电压,这些模式可以实现在不损害Pi的寿命的情况下获得片上系统的最大性能。
因此,当CPU需求不高,或者CPU过热时,性能就会降下来。但是如果CPU工作繁忙,且CPU的温度允许时,它的性能可以暂时提升。根据具体电路板状况以及使用了哪种turbo设置,时钟速度最高可达1GHz。表1-4详细介绍了当前5种超频预置的设置参数。
如果你正在使用的是当前的Raspbian版本,你会发现raspi-config工具已经支持将你的Pi配置成以上五种预置模式中的任何一种。对于其他发行版,你需要通过单独在/boot/config.txt文件中为每个选项进行设置的方式来定义你所希望使用的预置模式。例如,要设置Medium预置模式,可以在/boot/config.txt文件中加入这些行:
此外,仅仅因为知道Turbo设置在某些树莓派板子上工作正常,是不能认为它就会在你的板子上也是可以工作的,已经有不少用户反映当他们试图在他们的树莓派上运行超频预置模式时导致了SD卡损坏。