性能优化与散热

把小小的树莓派榨出最大性能

为什么要优化

树莓派的性能就那么多,但很多人只用到了六七成。通过调整 CPU 频率策略、GPU 内存分配、swap 配置和散热方案,可以让这块小板子多榨出 20-30% 的性能。

而且优化不光是为了跑得快,更是为了跑得稳。散热没做好的话,CPU 一过热就自动降频,跑着跑着反而变慢了。

CPU 频率策略

树莓派默认用 ondemand 策略,根据负载自动调频。跑服务器的话换成 performance 模式,让 CPU 一直保持最高频率,响应更快:

CPU 调频设置
# 查看当前频率策略
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

# 临时切换到 performance 模式
echo performance | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor

# 永久生效:安装 cpufrequtils
sudo apt install -y cpufrequtils
echo 'GOVERNOR="performance"' | sudo tee /etc/default/cpufrequtils
sudo systemctl restart cpufrequtils

# 查看当前频率
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
# Pi 5 应该显示 2400000 (2.4GHz)

GPU 内存分配

跑服务器不需要图形界面,把分给 GPU 的内存降到最低,留给 CPU 用:

/boot/config.txt 优化配置
# GPU 内存分配(最低 16MB,不跑桌面够用了)
gpu_mem=16

# Pi 5 超频(散热要跟上,不然别开)
# arm_freq=2800
# over_voltage=4

# 关闭蓝牙(不用的话省点资源)
dtoverlay=disable-bt

# 关闭板载 WiFi(如果用有线的话)
# dtoverlay=disable-wifi

# 关闭 HDMI 输出(Headless 部署用不到)
# hdmi_blanking=2

改完之后重启生效:sudo reboot

Swap 调优

合理的 swap 配置能防止 OOM,但 swap 设太大又会拖慢 SD 卡:

Swap 优化
# 设置 swap 大小(建议和内存一样大)
sudo dphys-swapfile swapoff
sudo sed -i "s/CONF_SWAPSIZE=.*/CONF_SWAPSIZE=4096/" /etc/dphys-swapfile
sudo dphys-swapfile setup
sudo dphys-swapfile swapon

# 降低 swappiness(减少不必要的换出)
echo "vm.swappiness=10" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

# 如果用 SSD 启动,swappiness 可以适当高一些(30-40)
# SD 卡建议设成 10,减少卡的磨损

散热方案对比

散热直接决定了 CPU 能不能维持高频运行。以下三种方案从省事到极致:

方案价格降温效果噪音适合场景
被动散热片¥5-15降 5-10°C零噪音轻负载、不超频
官方主动散热器¥30-50降 15-25°C低噪音日常使用,推荐
ICE Tower 散热塔¥60-100降 30-40°C中等超频、24/7 高负载

个人推荐:不超频用官方散热器就够了,超频或者 24/7 跑的话上 ICE Tower,效果拉满。

Docker 资源限制

给容器设个上限,防止某个进程把系统资源吃光导致整机卡死:

Docker 资源限制
# 限制 CPU 使用(留一个核给系统)
docker update --cpus="3.0" openclaw

# 限制内存使用
docker update --memory="2g" --memory-swap="3g" openclaw

# 查看容器资源占用
docker stats openclaw --no-stream

监控命令

调优之后得看看效果,这几个命令常用:

系统监控
# CPU 温度(最重要的指标!)
vcgencmd measure_temp
# temp=45.0'C  ← 这个温度很正常
# 超过 80°C 就该检查散热了

# CPU 频率(看有没有降频)
vcgencmd measure_clock arm

# 是否在降频
vcgencmd get_throttled
# 0x0 表示一切正常
# 非零表示触发过降频或欠压,去查具体含义

# 系统总览
htop

# 内存使用详情
free -h

# 磁盘使用
df -h

# Docker 容器资源占用
docker stats --no-stream

PicoClaw 轻量模式

如果树莓派配置实在紧张,可以开启 PicoClaw 轻量模式。这个模式会关闭一些非核心功能,把资源占用压到最低:

PicoClaw 轻量模式配置
# 在 docker-compose.yml 的 environment 里加上:
environment:
  - OPENCLAW_LITE=true        # 启用轻量模式
  - OPENCLAW_CACHE_SIZE=50    # 缓存条数(默认200,低内存设小一点)
  - OPENCLAW_WORKERS=2        # 工作线程数(默认4)
  - OPENCLAW_LOG_LEVEL=warn   # 日志级别调高,减少磁盘写入

轻量模式下内存占用大概能降 40%,对于 2GB 的树莓派 4B 来说是救命的。

优化到极致还是觉得卡?MOLILI 云端服务不受硬件限制,性能按需分配,告别散热焦虑。 了解 MOLILI →
这篇教程对你有帮助吗?