大家好,我是你们的老朋友——MC老徐。还记得去年树莓派4刚发布时,我不小心错过了最精彩的首发测试,因为当时正在吭哧吭哧地码毕业论文,所以只能先看看网友yoyojacky(骑驴玩漂移)的文章解解馋了。
最近机缘巧合下获得了树莓派4的评测资格。今天收到了板子,心情很激动,于是写了这篇洋洋洒洒好几百字的开箱评测。首先是喜闻乐见的开箱照。
评测期间,也因为参考了yoyojacky的快速入门教程,所以拿到板子后很快配置好了开发环境。在yoyojacky的文章里,我们还可以循着蛛丝马迹偶然地发现一款非常精致的散热器。那个散热器照片如下:
这款散热器的设计与以往的铝合金散热片不同,竟然使用了热管。
是不是因为树莓派4的发热量很大呢?
让我们带着问题开始今天的评测吧。
首先自然是给TF卡烧写固件。有的TF卡可能已经带了系统,包含很多隐藏的linux分区,并因为分区表的问题导致烧写失败。这时候可以用瑞芯微提供的TF卡修复工具把卡恢复一下。如下图所示:
然后,往TF卡写入固件吧。这一步可以用的软件很多,Etcher、Win32 disk imager,甚至dd都可以的。本人使用的是Win32 disk imager,如下图所示。你会发现我这个版本号强迫症已经用上了最新版的今年12月份的固件。
烧写完成后,在TF卡的fat格式分区(boot分区)里新建一个名字叫ssh文件。这一步的目的是开启ssh服务。这个操作是树莓派的传统了。
给树莓派4插TF卡,插网线。上电后稍微等一会儿后,可以从路由器的dhcp服务上看到树莓派。然后就能根据树莓派的IP地址,使用ssh服务远程登录操作了。
开机第一步,有的人是设置时区,或配置软件包;但是我这个老极客还是习惯先修改一下密码。设置密码不仅仅是为了安全,也为了用一串顺手的代码方便自己操作,比如统一设置为一串顺手的123456,或是各种“火星文”的组合。
3 配置ssh服务首次开机,你会发现root用户死活登不上ssh服务。这其实是个安全机制,防止黑客以root(也就是管理员身份)远程登录你的电脑然后搞破坏。但是这个安全机制也把普通玩家的手脚给束缚住了。无法远程root登录,那还怎么玩!!!
所以,我先教一下大家怎么设置ssh服务以允许root用户登录。
原理上是这样的,ssh服务通过sshconfig文件配置。ssh服务默认只允许pi用户登录,然而pi用户只能查看sshconfig文件,但无权修改sshconfig文件。。。。似乎陷入了如何取门内钥匙的尴尬境地。于是很多小伙伴用pi用户登录后无法修改sshconfig文件,然后就卡住了。是不是很悲催?
解决思路很简单,虽然root用户不能直接登录ssh服务,但可以用别的身份先把服务登录了。比如用pi用户登上ssh,登上以后再切换root身份。然后用root身份给pi用户开权限,包括那个修改sshconfig文件的权限。接着,通过pi用户给root开远程登录ssh服务的权限。对于我们骨灰级极客来说,这种流程真是太常规了。
下面,我们来操作一下,先以pi用户登录,然后用su命令切换到root用户。给sshconfig文件一个666的权限。666表示文件所有用户都有读写权限。
电脑
然后就能用pi用户修改这个sshconfig文件了。文件的修改如下图所示:
改完以后,还不能马上登录。这里有两个选择,一是重启ssh服务,二是重启系统。我们这种急性子不可能等重启系统的,就选重启ssh服务吧。
重启ssh服务,几乎是1秒钟不到就瞬间完成了。命令如下图所示
下面可以试试用root账号登录ssh了,应该能顺利通过的。
在安装软件前,我一般会把软件源改成国内的,这样下载软件包的时候能快一些。
先更换raspbian源
更换archive源
更新apt源,命令如下:
下面安装一下常用软件吧。切换到root用户,安装git
安装libopenmpi,这是个并行计算库,我经常用的(今天的测试并没有用上,先装上,以后会用到)。
软件安装完成好后,该进入今天的正事了。
为什么yoyojacky用了一个热管散热器给树莓派4降温呢?
让我们看看在不带散热器的情况下板子有多烫吧。
5喜闻乐见的烤机首先,这个温度压力测试,我们是不会作弊的,测试方法和测试数据都会公开。相同的方法,他人也能再次复现同样的现象。
我们所使用的树莓派固件是32位的。虽然树莓派4的处理器支持64位系统,但因为各代树莓派使用统一的镜像,所以只能向下兼容了。是32位还是64位系统,可以查看linux内核信息获得,Arm v7是32位,aarch64是64位。uname命令及输出如下图所示
处理器信息可以通过lscpu查看,我们这次用的硬件是树莓派4,处理器是4核心A72,频率600~1500MHz,如下图所示:
查看cpu当前的运行频率,命令:
cat /sys/devices/system/cpu/cpufreq/policy0/cpuinfo_cur_freq
查看当前的CPU温度,命令:
cat /sys/devices/virtual/thermal/thermal_zone0/temp
这里致谢一下Sipeed社区的网友ReinForce-II,他最近给了我一个瑞芯微RK3399的烤机代码“rk3399-cpu-stress”,该代码又是基于“Linpack benchmark”。它运行时对处理的压力要比我过去做的那个基于OpenMPI并行的要高不少,更能测试处理器在极端情况下的温度。
今天,我在ReinForce-II的工作的基础上,又把“rk3399-cpu-stress”代码多增加了两个A72核心进程,取消了4个A53核心的进程,于是得到了“rpi-cpu-stress”。
本人已经把这个rpi-cpu-stress程序开源在github,下载命令:
git clone https://github.com/xukejing/rpi-cpu-stress.git
执行命令(面对滚滚热浪吧!):
chmod 666 stress.sh./stress.sh
树莓派4现在没有加任何散热器。
你会发现温度瞬间就起飞了,几乎在5秒内突然从50多度暴涨到60多度。测试初期的温度变化如下图所示:
此时,用htop命令监控任务管理器,可以看到4个处理器都占满了。
运行10分钟后,我发现树莓派4的处理器温度稳定在81~83度左右,并没有触发降频。顺带一提,当前的气温是16度。
划重点:气温16度,树莓派4无散热片且CPU满载情况下最高温度83度。
然后,我又拿出了我的小电扇,如下图对着板子上的处理器直吹
风扇扇热的效果很明显,即使没有散热片,直吹情况下,温度也降低到50度了。
以上就是树莓派4不带散热器跑这个rpi-cpu-stress处理器压力测试的结果。既然已经只有50度了,那么,至少在现在这个室温条件下,就不需要安装散热片了。
6 测试小结通过今天的测试可以发现树莓派4的发热并不高,散热片并不是必须。
1、即使不带散热片,在室温16度时的最高温度是83度左右,并且不会触发降频。
2、即使没有散热片,加个电风扇就可以把温度降低到50度。
热管散热器对树莓派4来说只是个“心情件”,主要作用是让你心情愉悦。就像依云和娃哈哈纯净水都能解渴,但是依云喝起来心情好呀。
如果不打算买热管散热器,可以使用一个普通的小型散热片加个风扇的廉价方案代替。