- 1、本文档共14页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
多核处理器linux的进程绑定处理器核运行
多核处理器Linux的进程绑定核运行
名词CPU affinity:中文称作“CPU亲和力”,是指在CMP架构下,能够将一个或多个进程绑定到一个或多个处理器上运行。
一、Linux代码中绑定多核运行
1、如果自己写代码,要把进程绑定到CPU,该怎么做?可以用sched_setaffinity函数。在Linux上,这会触发一次系统调用。
int sched_setaffinity(pid_t pid, unsigned int len, unsigned long *mask);
sched_setaffinity 的第一个参数是pid (进程ID),设置进程为pid的这个进程,让它运行在mask所设定的CPU上。如果pid的值为0,则表示指定的是当前进程,使当前进程运行在mask所设定的那些CPU上;第二个参数cpusetsize是mask所指定的数的长度。通常设定为sizeof(cpu_set_t);如果当前pid所指定的CPU此时没有运行在mask所指定的任意一个CPU上,则该指定的进程会从其它CPU上迁移到mask的指定的一个CPU上运行。
int sched_getaffinity(pid_t pid, unsigned int len, unsigned long *mask);
该函数获得pid所指示的进程的CPU位掩码,并将该掩码返回到mask所指向的结构中,即获得指定pid当前可以运行在哪些CPU上。同样,如果pid的值为0.也表示的是当前进程。
void CPU_ZERO (cpu_set_t *set)
这个宏对 CPU 集 set 进行初始化,将其设置为空集。
void CPU_SET (int cpu, cpu_set_t *set)
这个宏将 cpu 加入 CPU 集 set 中。
void CPU_CLR (int cpu, cpu_set_t *set)
这个宏将 cpu 从 CPU 集 set 中删除。
int CPU_ISSET (int cpu, const cpu_set_t *set)
如果 cpu 是 CPU 集 set 的一员,这个宏就返回一个非零值(true),否则就返回零(false)。
Example:我是在一个虚拟机上运行的程序,机器CPU是双核的,我设置虚拟机模拟四核。在linux上执行top指令看结果,点击“1”查看每个CPU核的运行情况。
/* Short test program to test sched_setaffinity
* (which sets the affinity of processes to processors).
* Compile: gcc sched_setaffinity_test.c
* -o sched_setaffinity_test.o -lm
* Usage: ./sched_setaffinity_test.o
*
* Open a top-window at the same time and see all the work
* being done on CPU 0 first and after a short wait on CPU 1,2,3.
* Repeat with different numbers to make sure, it is not a
* coincidence.
*/
#include stdio.h
#include math.h
#include sched.h
double waste_time(long n)
{
double res = 0;
long i = 0;
while(i n * 200000) {
i++;
res += sqrt(i);
}
return res;
}
int main(int argc, char **argv)
{
unsigned long mask = 1; /* 二进制1,processor 0 */
/* bind process to processor 0 */
if (sched_setaffinity(0, sizeof(mask), mask) 0) {
perror(sched_setaffinity);
}
/* waste some time so the work is visible with top */
printf (result: %f\n, waste_time (2000));
mask = 2; /*二进制10, process switches to processor 1 now */
if (sched_setaffinity(0, sizeof(mas
您可能关注的文档
- 余甘子资源植物的研究与开发进展 - 应用与环境生物学报.pdf
- 药物和特异性受体结合方式.ppt
- 大豆抗原蛋白的组成及其致敏作用机理 - 动物营养学报.pdf
- 红曲菌两种荧光代谢产物与bsa 相互作用的光谱法研究.pdf
- 兔出血症病毒衣壳蛋白(区二聚体的表达及其与受体结合能力分析.pdf
- 哈蟆油对d- 半乳糖所致雄性衰老大鼠肝组织 - 南方医科大学学报.pdf
- 17茁鄄雌二醇对雄性剑尾鱼精巢和肝发育的影响 - 动物学杂志.pdf
- 豆制品加工技 - 延边金科食品机械.doc
- 发酵饲料工艺技术及在养猪生产中的应用研究进展 - 广东农业科学.pdf
- fastprep - 上海博谊生物科技有限公司.pdf
- 初中信息科技伦理教育中教师角色定位研究教学研究课题报告.docx
- 2025年乡村特色农产品跨境电商运营中心供应链优化策略.docx
- 工业互联网平台安全漏洞威胁态势分析与应对策略.docx
- 高职单招试题预测试卷及答案详解【名师系列】.docx
- 高职单招试题预测试卷【预热题】附答案详解.docx
- 高职单招试题预测试卷带答案详解(研优卷).docx
- 2025年乡村特色农产品跨境电商运营中心农产品电商平台运营模式比较.docx
- 初中运动会开幕式创意策划与青少年素质教育的关系教学研究课题报告.docx
- 教师教学画像构建中的教育心理学原理应用研究:案例分析与实践教学研究课题报告.docx
- 探索人工智能在高中物理与地理跨学科教学中的教师协作模式教学研究课题报告.docx
最近下载
- 小学奥数教师版(合辑)1-1-2-3 分数四则混合运算综合.pdf VIP
- 小学奥数合辑(学生用书)1-1-2-3 分数四则混合运算综合.pdf VIP
- 心电监护操作流程课件(PPT 34张).pptx VIP
- 高考数学三年真题(2023-2025年)《统计与概率》真题分类汇编含答案.docx VIP
- 高斯小学奥数五年级上册含答案_分数应用题.doc VIP
- 药食同源发酵项目可行性研究报告建议书新建申请备案案例范文解读.doc VIP
- 2024年广东省高考政治试卷(真题+答案).pdf VIP
- 小学数学 奥数思维《计算:小数的巧算》专项训练2(含解析).docx VIP
- 智慧城市排水防涝系统改造与优化创新研究.docx VIP
- 核心稳定性与核心力量训练.ppt
文档评论(0)