cpu 隔离#
树莓派系统使用的是 /boot/firmware/cmdline.txt 文件来配置内核引导参数,可以在该文件中添加 CPU 隔离参数。
1. 确定要隔离的CPU#
假设树莓派有4个CPU(0-3),你想隔离CPU 3。
2. 编辑 cmdline.txt#
编辑 /boot/firmware/cmdline.txt 文件:
在文件的末尾添加以下内容(注意不要添加换行符):
确保所有参数都在同一行,之间用空格隔开。例如:
console=serial0,115200 console=tty1 root=PARTUUID=1234abcd-02 rootfstype=ext4 fsck.repair=yes isolcpus=3
3. 更新 rc.local 文件#
为了在系统启动后进一步配置CPU,可以在 /etc/rc.local 文件中添加命令:
在 exit 0 行之前添加以下内容:
echo 0 > /proc/irq/default_smp_affinity
echo 0 > /sys/devices/system/cpu/cpu3/online
echo 3 > /sys/devices/system/cpu/isolated
保存并关闭文件。
4. 配置调度策略#
为了将实时任务绑定到隔离的CPU,使用 taskset 命令。假设你有一个实时任务需要运行在CPU 3:
5. 验证配置#
重启系统以应用更改:
重启后,验证CPU隔离是否生效:
应输出:
示例:完整的操作步骤#
-
确保树莓派系统是最新的:
-
编辑
/boot/firmware/cmdline.txt文件:在末尾添加:
-
编辑
/etc/rc.local文件:在
exit 0行之前添加: -
重启系统:
-
验证配置:
-
运行实时任务:
注意事项#
- 隔离CPU时,请确保系统有足够的资源处理非实时任务。
- 如果需要调整隔离的CPU,可以修改
isolcpus参数并重新启动系统。 - 使用
taskset命令将实时任务绑定到隔离的CPU。
通过这些步骤,你可以在树莓派上实现CPU隔离,从而更好地支持实时任务的执行。