压测树莓派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
。