压测树莓派CM5

测试CM5在高负载下效果

完整的30分钟压测脚本,结合 fio(磁盘IO压力测试)和 stress(CPU/内存压力测试),专为 树莓派5 设计,使用简单、可扩展、可监控。


✅ 前提条件(请先执行)

sudo apt update
sudo apt install -y fio stress

✅ 一键压测脚本(保存为 pi_stress_test.sh

#!/bin/bash

# 树莓派5 30分钟压测脚本:fio + stress
# 作者:yoyojacky
# 使用方法:chmod +x pi_stress_test.sh && ./pi_stress_test.sh

echo "🚀 开始30分钟压测:fio + stress"
echo "时间:$(date)"
echo "================================"

# 创建临时测试目录
TEST_DIR="/home/pi/data/fio_test"
mkdir -p "$TEST_DIR"

# 1. CPU + 内存压力测试(后台运行)
echo "🔥 启动 stress(CPU 4核 + 内存 512MB)"
stress --cpu 4 --vm 2 --vm-bytes 512M --timeout 1800s &
STRESS_PID=$!

# 2. 磁盘IO压力测试(顺序写 + 随机写)
echo "💾 启动 fio(顺序写 + 随机写,30分钟)"
fio --name=write_test \
    --directory="$TEST_DIR" \
    --rw=write \
    --bs=1M \
    --size=5G \
    --numjobs=2 \
    --runtime=1800 \
    --time_based \
    --group_reporting \
    --direct=1 \
    --ioengine=libaio \
    --iodepth=16 \
    --output=fio_write_result.txt &

fio --name=randwrite_test \
    --directory="$TEST_DIR" \
    --rw=randwrite \
    --bs=4k \
    --size=2G \
    --numjobs=4 \
    --runtime=1800 \
    --time_based \
    --group_reporting \
    --direct=1 \
    --ioengine=libaio \
    --iodepth=32 \
    --output=fio_randwrite_result.txt &

# 3. 等待所有任务完成
wait $STRESS_PID
echo "✅ stress 测试完成"

wait
echo "✅ fio 测试完成"

# 4. 清理
rm -rf "$TEST_DIR"
echo "🧹 清理完成"
echo "📁 结果查看:fio_write_result.txt、fio_randwrite_result.txt"

✅ 运行方式

chmod +x pi_stress_test.sh
./pi_stress_test.sh

✅ 监控建议(可选)

你可以在另一个终端窗口运行以下命令监控温度和频率:

watch -n 1 "vcgencmd measure_temp && vcgencmd measure_clock arm"

✅ 注意事项

  • 树莓派5在85°C时会降频,建议加装主动散热风扇。
  • 如果你使用的是 microSD 卡,fio 会对其寿命造成影响,建议测试外接 SSD。
  • 如需测试读取性能,可将 --rw=write 改为 --rw=read--rw=randread