最近更新于 2024-10-01 11:31
设备环境
2024.10.1 更新
硬件:树莓派 cm4
系统:raspios 20240704 Debian 12 arm64
查看频率
获取当前实时的频率,单位 Hz
vcgencmd measure_clock arm
最小频率(4 核),单位 kHz
cat /sys/devices/system/cpu/cpu*/cpufreq/cpuinfo_min_freq
最大频率(默认最大就是 1.5GHz),单位 kHz
cat /sys/devices/system/cpu/cpu*/cpufreq/cpuinfo_max_freq
超频
注意
1.保证电源供电功率足够,否则可能会降频。当树莓派电源电压降至4.63 V (+/-5%)以下时(VCC 引脚和 GND 引脚之间的电压),右上角会显示欠压图标,建议至少保证 4.8V。
2.建议使用风扇主动扇热,当 Soc 温度达到 80℃ 时 CPU 会降频,超过 85℃ 后,GPU 也会开始降频,分别显示对应的警告图标。
3.超频出现问题后,一般会及时体现出来。如果遇到开机无法启动,请连上键盘,按住 Shift 键再接通电源开机,可以关闭超频配置。也可以把内存卡插电脑上或者将 eMMC 作为储存设备挂载到电脑上,再编辑配置文件。
操作
以 root 权限编辑 /boot/firmware/config.txt 文件,添加内容
over_voltage=6
arm_freq=2000
- over_voltage 调整 CPU 供电电压,接收 -16 到 8 之间的数字,默认值为 0。超频时电压不够,窗口右上角会出现⚡标志,并会降频到默认的 700MHz
- arm_freq 设置频率,2000 即 2GHz,最大可以设置 2147
GPU 频率也可以设置,最大值设置 750,默认是 500
gpu_freq=750
设置完重启生效
可以使用 watch 命令持续查看频率(间隔 1 秒执行一次)
watch -n 1 vcgencmd measure_clock arm
性能测试
使用 sysbench
sudo apt update
sudo apt install -y sysbench
单线程
单线程性能测试
sysbench --num-threads=1 --cpu-max-prime=10000 cpu run
- –num-threads=1:指定使用的线程数为1。这表示测试将在单个线程上运行。
- –cpu-max-prime=10000:指定计算质数时的最大值为10000。这决定了计算任务的复杂性和执行时间。
CPU 速度从 1482 提升到 2121
多线程
多线程性能测试
sysbench --num-threads=4 --cpu-max-prime=10000 cpu run
CPU 速度从 5879 提升到 8454
互斥锁测试
互斥锁测试
sysbench --mutex-num=4096 --mutex-locks=50000 --mutex-loops=10000 mutex run
- –mutex-num=4096:指定互斥锁的数量为4096。这表示测试将使用4096个互斥锁对象。
- –mutex-locks=50000:指定每个线程获取和释放互斥锁的次数为50000。这决定了测试中互斥锁操作的总次数。
- –mutex-loops=10000:指定每个线程执行互斥锁操作的循环次数为10000。这影响了互斥锁操作的复杂性和执行时间。
时间开销从 0.6780 减到 0.5348
线程并发测试
线程并发测试
sysbench --num-threads=1000 --thread-yields=1000 --thread-locks=8 threads run
- –num-threads=1000:指定使用的线程数为1000。这表示测试将在1000个线程上运行。
- –thread-yields=1000:指定每个线程在执行期间进行上下文切换的次数为1000。这模拟了线程之间的交替执行和切换。
- –thread-locks=8:指定每个线程执行的锁操作的数量为8。这决定了每个线程在执行期间涉及的锁操作的总数。
时间开销从 11.6279 减到 11.4564,测试量较小,差异不怎么明显
参考
超频部分参考树莓派杂志:https://magpi.raspberrypi.com/articles/how-to-overclock-raspberry-pi-4
性能测试部分参考:https://blog.csdn.net/qq_41676577/article/details/112856273