性能测试:
CPU频率:vcgencmd measure_clock arm 命令可以查询cpu当前工作频率,在没有负载时为600M,在某个核满载时工作频率为1.5G。
未负载cpu频率截图:
单核负载截图(top后输入1,单个进程死循环):
单核负载cpu频率截图:
4核负载cpu频率截图:
从上面的截图还可以看出,树莓派4个核单独工作不会由系统均衡调度。每个线程绑定一个cpu,这样也好,不用考虑亲核性。又写了个4线程的程序,4核满载,说明不是一个进程只能用一个cpu核。
cpu温度方面(cat /sys/class/thermal/thermal_zone0/temp查看),不带小风扇空载1晚上60度左右,打开风扇会降到39度,满载时(有风扇)温度在50度左右。关于这个风扇,一直开着嫌吵,不开也不行,想用gpio根据温度控制,但io口的3.3v又不能驱动,准备淘宝个继电器控制。
磁盘写入io速度测试:
环境搭建:
树莓派4b+接3.5硬盘,用stat+12V2A电源转usb3.0接口时,能发现硬盘,单不稳定,接上后格式化硬盘就咯咯响,硬盘发热,根本不能用,先是怀疑硬盘电源不稳,换了还是不行。只能用硬盘柜转usb3.0,操作步骤:
1、硬件接入后,查看/dev下是否有sda(1)或sdb(1)。
2、fdisk给磁盘分区,fdisk /dev/sda, 进入后m查看帮助,已有分区可以删除重分。(如果用stat转usb可能这一步就进不去了)
3、mkfs 制作文件系统,类似格式化,输入mkfs连按两次tab补全会看到mkfs.ext2 mkfs.ext3 mkfs.ext4 mkfs.fat等,这是系统支持的文件格式,fat是windows支持的格式,linux选ext4就行了,所以这个命令可以写mkfs -t ext4 /dev/sda。
4、mount 挂载, 建个文件夹(如/mnt/disk1),mount /dev/sda /mnt/disk1,disk1下写文件就是写磁盘了。
注意事项:硬盘插拔会导致/dev下sda变sdb,导致之前挂载目录不能用,需要用uuid方式管理硬盘才能解决(还没试)。
写入速率:
测试方法:单个进程单线程对10个fd句柄每次写入1M字符,不sleep,循环写满1G为止,打印开始和结束时间。
测试结论:写满10G用时156秒。