| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> arm linux线程亲和性设置和测试 -> 正文阅读 |
|
[嵌入式]arm linux线程亲和性设置和测试 |
1. 什么是cpu亲和性(affinity) ????????CPU的亲和性,?就是进程要在指定的 CPU 上尽量长时间地运行而不被迁移到其他处理器;简单点的描述就是将指定的进程或线程绑定到相应的cpu上。 ????????在多核运行的机器上,每个CPU本身自己会有缓存,缓存着进程使用的信息,而进程可能会被OS调度到其他CPU上,CPU cache命中率就低了,当绑定CPU后,程序就会一直在指定的cpu跑,不会由操作系统调度到其他CPU上,性能有一定的提高。 2. 调试思路 ? ? ? ? 本次测试使用的是A15双核平台,在uboot将二个核隔离出来,所有的任务将运行在第一个核中,然后使用 htop可查看cpu的占有率和线程运行在哪个核上。 ????????a. 将双核A15中的第二个核隔离出来,所有的程序都运行在第一个核中 ? ? ? ? b. 添加查看线程运行工具 htop,可查看线程在那个cpu上运行 ????????注:如果要使用隔离的CPU,需要在代码中添加如下代码。 ? ?? ????????????????pid_t tid; 3. 测试前的准备工作 ????????a. 将第二个CPU隔离。仅需在 uboot启动参数中增加 ”isolcpus=1“ ?,??计数从0开始,1表示隔离第2个CPU,系统启动后,程序?不能在第2个CPU上运行。 ????????c. 在buildroot中添加 htop工具 ????????d. 设置 htop, 将processor选项设置出来才能查看线程运行在那个 cpu 4. 测试 ????????使用工具htop测试可以看到,将第二个cpu隔离出来后,所有的线程默认都运行在第一个核中,第二个核上什么都没有运行。 ? |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 18:20:56- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |