diff --git a/docs/requirements/guide.md b/docs/requirements/guide.md index bbbffea..2c89ac5 100644 --- a/docs/requirements/guide.md +++ b/docs/requirements/guide.md @@ -42,4 +42,16 @@ curl -X POST http://10.0.0.49:8080/api/getToken 类别映射: 0 = person(人) 1 = shoe(鞋子)✅ -2 = phone(手机) \ No newline at end of file +2 = phone(手机) + +# 实时查看NPU负载(每秒刷新) +watch -n 1 cat /proc/rknpu/load + +# 实时查看温度 +watch -n 1 'for f in /sys/class/thermal/thermal_zone*/temp; do echo "$(basename $(dirname $f)): $(( $(cat $f) / 1000 ))°C"; done' + +# 查看编码器FPS +watch -n 1 'grep -E "fps_calc|RKVENC" /proc/mpp_service/sessions-summary | head -20' + +# 综合监控(运行脚本) +~/apps/OrangePi3588Media/scripts/monitor_hw.sh \ No newline at end of file diff --git a/scripts/monitor_hw.sh b/scripts/monitor_hw.sh new file mode 100755 index 0000000..aba8013 --- /dev/null +++ b/scripts/monitor_hw.sh @@ -0,0 +1,56 @@ +#!/bin/bash +# RK3588 硬件资源监控脚本 + +echo "========== RK3588 Hardware Monitor ==========" +echo "Time: $(date '+%Y-%m-%d %H:%M:%S')" +echo "" + +# NPU负载 +echo "--- NPU Load ---" +cat /proc/rknpu/load 2>/dev/null || echo "N/A" +echo "" + +# 温度 +echo "--- Temperatures ---" +for f in /sys/class/thermal/thermal_zone*/temp; do + [ -f "$f" ] || continue + zone=$(echo $f | grep -o 'thermal_zone[0-9]*') + type=$(cat $(dirname $f)/type 2>/dev/null || echo "unknown") + temp=$(cat $f 2>/dev/null) + [ -n "$temp" ] && printf "%s (%s): %3d°C\n" "$zone" "$type" $((temp/1000)) +done +echo "" + +# MPP编码器会话 +echo "--- MPP Encoder Sessions ---" +grep -A2 "RKVENC" /proc/mpp_service/sessions-summary 2>/dev/null | grep -E "session|RKVENC|fps_calc" | head -20 +echo "" + +# CPU使用率 (3秒采样) +echo "--- CPU Usage (3s avg) ---" +# 第一次采样 +read cpu_a user_a nice_a sys_a idle_a rest < /proc/stat +total_a=$((user_a+nice_a+sys_a+idle_a)) +sleep 3 +# 第二次采样 +read cpu_b user_b nice_b sys_b idle_b rest < /proc/stat +total_b=$((user_b+nice_b+sys_b+idle_b)) +total_d=$((total_b-total_a)) +idle_d=$((idle_b-idle_a)) +if [ $total_d -gt 0 ]; then + usage=$((100*(total_d-idle_d)/total_d)) + echo "Total CPU: ${usage}%" +else + echo "Total CPU: N/A" +fi +echo "" + +# 内存 +echo "--- Memory ---" +free -h | grep -E "Mem|Swap" +echo "" + +# DDR频率 +echo "--- DDR Frequency ---" +cat /sys/kernel/debug/clk/clk_summary 2>/dev/null | grep -E "ddr" | head -3 +echo ""