【飞腾平台实时Linux方案系列】第七篇 - 飞腾平台实时与非实时任务协同优化。

一、简介:为什么要在飞腾上做“实时/非实时协同”?

  • 背景:能源、矿山、轨道交通等关键领域,既需要<1 ms的实时闭环控制(PLC/运动控制),又需要跑容器、数据库、Web运维。

  • 痛点:通用Linux任务调度随意抢占,导致控制任务偶发>5 ms延迟→废品/跳闸/安全系统误动作。

  • 飞腾(FT-2000/4、D2000、E2000):国产ARMv8架构,已支持PREEMPT_RT;但默认配置下实时任务仍会被非实时负载干扰。

  • 价值:掌握“核隔离+资源配额”技术,可让实时区<100 μs延迟,同时非实时区正常跑Docker/K8s,一颗芯片两套系统,国产化全栈可控


二、核心概念:5个关键词先搞懂

关键词一句话飞腾平台注意
PREEMPT_RT让Linux大部分代码可抢占,关中断区最小化需飞腾BSP≥5.15已集成rt补丁
CPU隔离把指定核从内核调度器拿走,只跑实时任务飞腾ARM64同样用isolcpus
cgroups v2限制非实时组CPU带宽,防止burst抢占与x86语法一致
rseq重启序列,用户态优化,降低迁移延迟5.10+默认开启
核绑定taskset/irqbalance把中断绑定到非实时核飞腾GICv3支持亲和

三、环境准备:15分钟搭好“飞腾实时实验机”

1. 硬件

  • FT-2000/4 工业主板(4核A72,2.2 GHz,4GB DDR4)

  • NVMe SSD 256 GB(IO低延迟)

  • 串口1路→用于实时日志不抢占网口

2. 软件

组件版本获取方式
实时内核linux-5.15-ft-rt30飞腾官方Git仓库
根文件系统Ubuntu 20.04 arm64飞腾镜像站
工具链gcc-9.3-aarch64sudo apt install gcc-aarch64-linux-gnu
测试框架rt-tests 2.4apt install rt-tests

3. 一键编译RT内核(可复制)

#!/bin/bash # build_rt_ft.sh git clone https://gitee.com/phytium/linux.git -b v5.15-ft-rt30 cd linux export ARCH=arm64 export CROSS_COMPILE=aarch64-linux-gnu- make phytium_defconfig ./scripts/config -e CONFIG_PREEMPT_RT make -j$(nproc) Image dtbs sudo make modules_install && sudo cp arch/arm64/boot/Image /boot sudo update-grub && reboot

重启选rt内核进入。


四、应用场景(300字示例)

某矿山皮带运输系统采用飞腾D2000国产工控机:

  • 实时区:2核跑EtherCAT主站,周期1 ms,控制4台3 kW伺服电机同步运转;

  • 非实时区:2核跑Docker容器(Node-RED+InfluxDB+Grafana),实时采集电机电流、温度,同时对外提供Web可视化。
    未优化前,Web刷新大数据时,cyclictest偶发1.2 ms延迟→EtherCAT帧错过周期,伺服报警停机。
    通过本文“核隔离+cpuset”方案后,实时区最大延迟<80 μs;Web容器被限制在剩余2核、CPU配额80%,不再抢占实时任务,实现“零停机”运维。整套系统国产化率100%,通过矿山安全监察局验收。


五、实际案例与步骤:从“默认”到“确定<100 μs”

实验目录:~/ft-rt-lab,全部脚本可一键跑。


5.1 核隔离:让实时任务独享CPU 0-1

  1. 修改GRUB
    编辑/boot/grub/grub.cfglinux行追加:

    isolcpus=0-1 rcu_nocbs=0-1 quiet splash
  2. 重启后确认

    cat /proc/cmdline | grep isolcpus
  3. 结果:调度器不再将普通任务放到0-1核。


5.2 绑定实时任务到隔离核

示例代码rt_thread.c

#define _GNU_SOURCE #include <pthread.h> #include <stdio.h> #include <sched.h> #include <unistd.h> void* rt_task(void* arg){ cpu_set_t cpuset; CPU_ZERO(&cpuset); CPU_SET(0, &cpuset); /* 绑定CPU0 */ pthread_setaffinity_np(pthread_self(), sizeof(cpuset), &cpuset); struct sched_param param = { .sched_priority = 95 }; pthread_setschedparam(pthread_self(), SCHED_FIFO, &param); while(1){ // 模拟1ms控制循环 usleep(1000); } return NULL; } int main(){ pthread_t tid; pthread_create(&tid, NULL, rt_task, NULL); pthread_join(tid, NULL); }

编译&运行:

gcc rt_thread.c -o rt_thread -pthread sudo ./rt_thread &

5.3 限制非实时区:cgroups v2 一键脚本

#!/bin/bash # limit_nonrt.sh # 创建cgroup切片 sudo mkdir -p /sys/fs/cgroup/nonrt.slice echo "2-3" | sudo tee /sys/fs/cgroup/nonrt.slice/cpus echo "800000 1000000" | sudo tee /sys/fs/cgroup/nonrt.slice/cpu.max # 80%带宽 # 把非实时任务移入 echo $$ | sudo tee /sys/fs/cgroup/nonrt.slice/cgroup.procs

执行后,Docker、shell等后续进程自动受限于2-3核+80% CPU。


5.4 中断亲和:把网口/磁盘中断迁出实时核

# 查看当前中断分布 cat /proc/interrupts # 将eth0(示例IRQ 28)绑定到CPU2-3 sudo echo 0xC > /proc/irq/28/smp_affinity

也可安装irqbalance服务并配置:

sudo systemctl enable irqbalance echo "IRQBALANCE_BANNED_CPUS=3" >> /etc/sysconfig/irqbalance # 0-1禁止迁移

5.5 效果验证:cyclictest对比

优化前(无隔离):

sudo cyclictest -p95 -m -i100 -d60s -q

Max: 1323 μs

优化后(隔离+限速):

Max: 67 μs

下降95%,且全程无丢包。


六、常见问题与解答(FAQ)

问题现象解决
isolcpus无效,任务仍迁移到0-1未关rcu_nocbs内核参数同时加rcu_nocbs=0-1
cgroup限制后Docker容器启动失败提示CPU不足docker.service单独slice,放宽quota
cyclictest Max偶尔>100 μs电源管理未关BIOS关闭Turbo、内核加nohz_full=0-1
实时线程绑定失败EPERM需root或使用sudo
飞腾主板无/proc/irq/*/smp_affinity旧内核升级至5.15-ft-rt30,支持GICv3亲和

七、实践建议与最佳实践

  1. 核分配策略:≤8核场景,推荐“一半实时一半业务”;>8核可按比例2:1留余量。

  2. 电源管理:生产环境BIOS统一关闭Turbo、C-State、P-State,使用performancegovernor。

  3. 日志分流:实时核日志走串口,禁止写磁盘;业务日志走网络,互不干扰。

  4. 灰度验证:上线前用stress-ng对业务区压载100% CPU,实时区cyclictest保持<80 μs。

  5. 一键恢复:保留默认GRUB条目,异常时重启可回退非隔离配置,减少现场维修时间。

  6. 文档自动化:把核隔离、cgroup配置写成Ansible playbook,同固件一起版本化。


八、总结与展望

  • 要点回顾
    飞腾平台通过isolcpus+cgroups v2+中断亲和,可让“实时区”延迟从毫秒级降至几十微秒,同时“业务区”继续跑容器、数据库,实现一颗国产芯,两套确定性系统

  • 国产化价值
    从芯片到实时内核100%自主可控,替代传统x86+RTOS方案,降低供应链风险;已在能源、矿山、轨交等关键领域批量落地。

  • 下一步
    结合飞腾硬件看门狗、双核锁步(Lock-Step)与IEC 61508功能安全认证,推进“SIL 2级国产实时控制器”,让国产芯不仅替代,更是超越。

立刻打开你的飞腾板子,复制本文脚本跑一遍,把cyclictest截图发到团队群——国产+实时,原来可以如此简单!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1182422.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2026年留学申请机构推荐:多国留学场景实战评价,解决规划与文书核心痛点 - 品牌推荐

摘要 在全球化教育持续深化的背景下,寻求海外优质教育资源已成为众多学子与家庭的重要规划。面对复杂的院校信息、差异化的申请要求与漫长的准备周期,选择一家专业、可靠且资源丰富的留学申请机构,成为决策者缓解信…

快速搭建MediaCrawler:完整的社交数据采集解决方案

快速搭建MediaCrawler&#xff1a;完整的社交数据采集解决方案 【免费下载链接】MediaCrawler 项目地址: https://gitcode.com/GitHub_Trending/mediacr/MediaCrawler MediaCrawler是一个功能强大的开源爬虫项目&#xff0c;专门针对小红书、抖音、快手、B站、微博等主…

淘宝/天猫获得淘宝商品详情高级版 API 返回值说明

item_get_pro-获得淘宝商品详情高级版taobao.item_get_pro公共参数名称类型必须描述keyString是调用key&#xff08;必须以GET方式拼接在URL中&#xff09;secretString是调用密钥api_nameString是API接口名称&#xff08;包括在请求地址中&#xff09;[item_search,item_get,i…

UART、RS232、RS485的区别

UART、RS232、RS485的区别大家好,我是良许。 在嵌入式开发中,串口通信是我们最常用的通信方式之一。 但很多初学者经常会被 UART、RS232、RS485 这几个概念搞混,不清楚它们之间到底有什么区别和联系。 今天我就来详…

APT28全球钓鱼风暴突袭海事命脉:一封“船期变更”邮件,竟能瘫痪港口系统?

一、从“提单更新”到内网沦陷&#xff1a;一场精心策划的数字伏击2025年11月下旬&#xff0c;一家位于鹿特丹港的中型航运代理公司收到一封看似寻常的邮件&#xff1a;“您的提单&#xff08;B/L No. HLCU2511887&#xff09;因海关新规需补充信息&#xff0c;请查收附件并尽快…

私有化部署,功能完备的PHP智能客服源码,数据安全与自主升级

温馨提示&#xff1a;文末有资源获取方式在数据安全与定制化需求日益增长的今天&#xff0c;越来越多的企业倾向于选择可私有化部署的客服系统。一款基于PHP原生开发、功能高度完备的智能客服系统源码&#xff0c;为企业提供了在自有服务器上构建智慧服务能力的绝佳选择&#x…

旺坤搪瓷管空预器性价比怎么样,在山东、湖北、江苏地区的口碑排名 - 工业品牌热点

本榜单依托全维度市场调研与真实行业口碑,深度筛选出五家工业锅炉节能设备领域的标杆企业,为企业选型提供客观依据,助力精准匹配适配的服务伙伴。 TOP1 推荐:山东旺坤节能科技有限公司 推荐指数:★★★★★ | 口碑…

libero ProASIC3 A3P250 JTAG 烧录 协议抓取

libero ProASIC3 A3P250 JTAG 烧录 协议抓取 通道0: TDO 通道1 TRST 通道2 TDI 通道3 TMS 通道4 TCK

【单片机毕业设计】【mcuclub-dz-1142】基于单片机的智能防酒驾设计

一、功能简介项目:智能防酒驾设计 项目编号&#xff1a;dz-1142 单片机&#xff1a;STM32F103C8T6 功能简介&#xff1a; 1、通过两个MQ-3检测主驾驶位和副驾驶位酒精含量&#xff0c;当主驾驶位大于副驾驶位酒精含量并大于设置的最大值&#xff0c;则声光报警&#xff0c;无法…

Capacitance and capacitor 电容与电容器

Capacitance and capacitor 电容与电容器 引言 正文 Author: JiJi \textrm{Author: JiJi} Author: JiJi Created Time: 2026.01.19 \textrm{Created Time: 2026.01.19} Created Time: 2026.01.19

一键批量抠图神器,吾爱出品

今天给大家介绍两款小工具非常的好用&#xff0c;一个是批量抠图的&#xff0c;一个是解决右键菜单管理的&#xff0c;有需要的小伙伴可以下载收藏。 一键抠图 可以批量抠图 这款软件是一款PC版本离线可以用的抠图软件&#xff0c;软件是由吾爱论坛逍遥一仙开发的。这款软件封…

图片拆分神器,神仙工具

今天给大家介绍一款好用的图像拆分和格式互转的软件&#xff0c;这款软件没有任何的广告&#xff0c;而且非常好用&#xff0c;有需要的小伙伴可以下载收藏。 lmage Splitter 图像拆分和格式互转 这款软件不需要安装&#xff0c;下载好了后双击打开就可以直接使用了。 软件不仅…

小白秒变 MV 导演!Vidu AI 一键生成功能上线,7 张图 + BGM = 分钟级专业成片

在短视频与音乐营销需求爆发的当下&#xff0c;专业 MV 制作曾是不少创作者的 “拦路虎”—— 需要掌握剪辑技巧、熟悉镜头语言&#xff0c;还要花费数小时甚至数天打磨成片。而如今&#xff0c;国内领先视频大模型 Vidu 的新功能&#xff0c;直接打破了这一壁垒。2026 年 1 月…

RK3588_NPU

一、NPU算力的三个维度&#xff1a; 1.峰值TOPS 2.精度INT8/FP16 3.带宽效率二、TOPS是如何计算的呢&#xff1f; 1.MAC单一总数是神经网络计算的核心。卷积和矩阵运算的核心就是使用MAC. 2.NPU的设计理念就是拥有极大量的并行 MAC 单元阵列。一个NPU芯片可能拥有数千甚至数万个…

太原科大心理咨询中心怎么样 口碑好值得信赖 - 资讯焦点

太原科大心理咨询中心怎么样?作为太原专注于精神心理领域的专科,该中心以患者需求为核心,凭借精准的诊疗方向、科学的诊疗模式与贴心的服务理念,成为众多心理困扰患者的信赖之选。太原科大心理咨询中心深耕精神心理…

太原科大失眠抑郁专科医院正规吗 正规靠谱服务贴心 - 资讯焦点

太原科大失眠抑郁专科是太原专业治疗失眠抑郁精神心理疾病专科,汇集了国内临床经验丰富的精神心理专家以及国家二级心理咨询师,专家的临床经验均在30年以上,并且定期邀约中国人民解放军军医大学教授、三甲医院主任医…

如何查看微信立减金回收平台的口碑? - 京顺回收

在数字消费浪潮下,微信立减金成了日常购物的热门优惠,可闲置率竟高达62%,用户急需安全可靠的回收渠道。如何精准判断微信立减金回收平台口碑?掌握以下四步法,让你避开风险,高效变现闲置福利。 一、核查资质公示,…

2026年留学申请机构推荐:基于全球院校资源与申请痛点深度评测排名 - 品牌推荐

留学申请服务机构2026年1月权威评测与推荐榜单 摘要 在全球化教育持续深化与人才竞争日趋激烈的背景下,寻求海外优质教育资源已成为众多学子与家庭的重要战略规划。然而,面对信息过载、院校政策动态变化、申请流程复…

AI智能客服系统源码,同步支持文本、图片、视频三种咨询方式,满足客户多样化的需求

温馨提示&#xff1a;文末有资源获取方式 对于深耕企业微信生态的企业而言&#xff0c;选择一款能够深度集成、功能强大且便于后续定制开发的客服系统至关重要。以下介绍的这款智能客服系统源码&#xff0c;专为企业微信场景打造&#xff0c;凭借其强大的扩展性和全面的功能集&…

智慧校园智慧教育总体解决方案(PPT+WORD)

智慧校园建设核心框架智慧校园围绕四大核心板块构建全方位数字化生态&#xff1a;校园信息化基础设施&#xff1a;打造五类支撑。网络实现有线无线双覆盖&#xff0c;保障高并发场景运行&#xff1b;教学环境设智慧教室、创客空间&#xff0c;配高清投影与智能黑板&#xff1b;…