树莓派cpu检测_树莓派3B之CPUGPU和内存超频稳定性测试

本文介绍了如何在树莓派3B上进行CPU和内存的超频操作,包括超频参数设置、稳定性测试以及性能提升的验证。作者分享了个人测试成功的超频配置,并提供了压力测试、性能测试工具的使用方法,帮助读者了解超频后树莓派的性能变化。
摘要由CSDN通过智能技术生成

20170902 初成文

20170920 更新sdram超频参数说明

2017-10-05 更新内存超频、添加nbench性能跑分

测试环境

本人测试成功的系统:Raspbian Jessie/Stretch,DietPi,OSMC,LibreELEC

本文示例使用系统:Raspbian Stretch Lite(2017-08-16)

供电:三星充电器5.3V 2A

散热:3块散热铝片+5v小风扇花式接3.3v针脚(5v太吵…)

外壳:全透明亚克力外壳

超频方法

最好先更新一下固件以支持最新的超频选项

1sudo rpi-update

Win下用Notepad++编辑/boot分区(FAT32格式)下的config.txt

Raspbian下需要在root权限(sudo nano /boot/config.txt)下编辑,重启生效

超频参数参考及说明

以下为个人树莓派上通过稳定性测试的超频参数,仅供参考。不同板子会存在体质差异,不一定适合以下配置,建议自行摸索。比如别人能稳定超到1.45g而个人板子超到1450(提高约21%)能开机,但压力测试时会出现死机现象。最好先对CPU超频通过稳定性测试后,再对内存超频,否则可能无法知道是哪个原因导致超频失败。

主频性能大约提升16.7%,(1400-1200)/1200=16.7%

1

2

3

4

5

6

7

8

9

10over_voltage=5

arm_freq=1400

core_freq=500

gpu_freq=500

dtparam=sd_overclock=100

temp_limit=85

#force_turbo=1

over_voltage_sdram=2

sdram_freq=600

sdram_schmoo=0x02000020

解释:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21over_voltage //CPU/GPU电压,有效值为[-16,8],0对应1.2v,步进为0.025v,超过6需要同时配合force_turbo=1才生效。个人测试是达到5是1.394v,再高的值电压也不再增加。

arm_freq //ARM CPU主频,默认值为1200

gpu_freq //同时对core_freq,h264_freq,isp_freq, v3d_freq超频,core_freq默认值为400, h264_freq、isp_freq、v3d_freq默认值为300

core_freq //GPU核心主频,默认400,对内存读写速度有一点好处

dtparam=sd_overclock //默认50,SD卡超频,该项设置没有危险,默认值低是为了提高兼容性,一般的卡都可以放心调整到100,重启后执行dmesg | grep "mmc0"见mmc0: overclocking to 100000000Hz

temp_limit //过热保护。默认值为85,过热降频。不建议长期运行在70度以上,高温对芯片寿命影响较大。

force_turbo //=1时一直运行在高性能模式下,策略为scaling_governor=performance;=0时根据cpu利用率动态调频,默认策略为scaling_governor=ondemand。有五种调节策略,performance/powersave/userspace/ondemand/conservative,可通过以下命令更改策略(必须root用户下)

echo conservative > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

over_voltage_sdram //[-16,8],同时设置over_voltage_sdram_c(control),

over_voltage_sdram_i(I/O), over_voltage_sdram_p(phy)电压

sdram_freq //内存工作频率,默认450MHz

sdram_schmoo//内存部分时序4,3,2,0,0,-2,-2,0,-10,提高性能和稳定性,分别对应如下

int8_t dphy_drive_level; // 4..0 -> 34R,40R,48R,60R,80R

int8_t aphy_drive_level; // 4..0 -> 34R,40R,48R,60R,80R

int8_t dram_drive_level; // 4..-1 -> 34R,40R,48R,60R,80R,120R

uint8_t dphy_lpwr_rx; // Non-zero for LPWR_RX in DPHY

uint8_t aphy_lpwr_rx; // Non-zero for LPWR_RX in APHY

int8_t dll_offset_rd_n; // DLL offset schmoo: Low phase Read

int8_t dll_offset_rd_p; // DLL offset schmoo: High phase Read

int8_t dll_offset_wr; // DLL offset schmoo: DQ/DQS Write

int8_t dll_offset_addr; // DLL offset schmoo: Address/command

性能测试、压力测试、状态监测、稳定性测试

性能测试

表示创建4个线程来寻找 √ ̄20000 以内的质数:

1sysbench --num-threads=4 --test=cpu --cpu-max-prime=20000 run

未超频前total time=92.5s,超频后total time=79.3s,提升约15%符合预期

另一个性能测试跑分软件是nbench(原程序http://www.byte.com/bmark/bmark.htm。但2010年关闭了)

1

2

3

4

5wget http://www.math.utah.edu/~mayer/linux/nbench-byte-2.2.3.tar.gz

tar -xvzf nbench-byte-2.2.3.tar.gz

cd nbench-byte-2.2.3

make

./nbench

nbench跑分整数和浮点数分数39.013与180239

cpu压力测试

建议压力测试至少10分钟或以上,无出错/死机

1

2sudo apt install stress

stress -c 4 -t 10m -v

注意需要同时留意CPU/GPU温度不超过85度,下面两条命令均可:

1

2vcgencmd measure_temp

cat /sys/class/thermal/thermal_zone0/temp

内存压力测试

一个memtester占用一个核心,打开四个窗口运行四次sudo memtester 210M -1可加快测试速度,因为需要cpu生成随机序列来对内存进行频繁读写,所以cpu占用会比较高,因此该测试可以同时对cpu和内存进行稳定性测试。该测试大约10分钟左右

1

2sudo apt install memtester

sudo memtester 840M -1

内存稳定性测试不通过会出现如下图failure字样,在日常工作中可能会出现不稳定现象。

检测部分

CPU和内存电压

1for id in core sdram_c sdram_i sdram_p ; do echo -e "$id:\t$(vcgencmd measure_volts $id)" ; done

各项频率

超频是否成功,arm项返回1400000*,如果其它也超频了,也会显示运行频率

1for src in arm core h264 isp v3d uart pwm emmc pixel vec hdmi dpi ; do echo -e "$src:\t$(vcgencmd measure_clock $src)" ; done

另一种查看cpu频率的方法

1sudo cat /sys/devices/system/cpu/cpu2/cpufreq/cpuinfo_cur_freq

SD卡超频检测

1dmesg | grep "mmc0" //看到mmc0: overclocking to 100000000Hz即成功

内存读写速度

按Ctrl+C结束

1dd if=/dev/zero of=/dev/null

SD卡读写速度

第一行,生成1024MB大小的文件内容为0的文件,生成速度取决于sd卡写入速度

第二行 ,将刚才生成的文件删除,取决于sd卡读取速度

1

2dd if=/dev/zero of=test bs=1M count=1024 oflag=direct

dd if=test of=/dev/null bs=1M oflag=direct

1sudo hdparm -tT /dev/mmcblk0 //-t是测试硬盘读写速率,-T是测试缓存读写速率

编码启用情况

1for codec in H264 MPG2 WVC1 MPG4 MJPG WMV9 ; do echo -e "$codec:\t$(vcgencmd codec_enabled $codec)" ; done

CPU和GPU内存分配

1vcgencmd get_mem arm && vcgencmd get_mem gpu

临时关闭超频

如果超频失败,无法启动,可以在启动时按住shift临时关闭所有超频选项,进入系统后再进行修改。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值