#include <stdio.h>
#include <pthread.h>
#include <sys/sysinfo.h>
#include <unistd.h>
#include <sched.h> void SetCpuWhich() {
int cpu_num=sysconf(_SC_NPROCESSORS_CONF);
printf("[%s]cpu_num:%d\n",__FUNCTION__,cpu_num); int cpu_which=1;
cpu_set_t mask;
CPU_ZERO(&mask);
CPU_SET(cpu_which,&mask);
if(sched_setaffinity(0,sizeof(mask),&mask)==-1) {
printf("[%s]sched_setaffinity false:cpu_which%d\n",__FUNCTION__,cpu_which);
return;
}
else {
printf("[%s]sched_setaffinity true:cpu_which%d\n",__FUNCTION__,cpu_which);
}
} void GetCpuWhich() {
int cpu_num=sysconf(_SC_NPROCESSORS_CONF);
printf("[%s]cpu_num:%d\n",__FUNCTION__,cpu_num); cpu_set_t get;
CPU_ZERO(&get);
if(sched_getaffinity(0,sizeof(get),&get)==-1) {
printf("[%s]sched_getaffinity false\n",__FUNCTION__);
return;
} for(int i=0;i<cpu_num;i++) {
if(CPU_ISSET(i,&get)) {
printf("[%s]sched_getaffinity true:cpu_which:%d\n",__FUNCTION__,i);
}
}
}

线程绑定cpu的更多相关文章

  1. Linux编程之《进程/线程绑定CPU》

    Intro----- 通常我们在编写服务器代码时,可以通过将当前进程绑定到固定的CPU核心或者线程绑定到固定的CPU核心来提高系统调度程序的效率来提高程序执行的效率,下面将完整代码贴上. /***** ...

  2. 线程绑定CPU核-sched_setaffinity

    CPU亲合力就是指在Linux系统中能够将一个或多个进程绑定到一个或多个处理器上运行. 一个进程的CPU亲合力掩码决定了该进程将在哪个或哪几个CPU上运行.在一个多处理器系统中,设置CPU亲合力的掩码 ...

  3. linux线程绑定cpu

    函数介绍 #define __USE_GNU #include <sched.h> void CPU_ZERO(cpu_set_t *set); void CPU_SET(int cpu, ...

  4. 为线程绑定CPU

    // learn gcc atomic variable #define _GNU_SOURCE #include <stdio.h> #include <stdlib.h> ...

  5. Windows10 临时将线程绑定至指定CPU的方法

    本文首发:https://www.somata.work/2019/WindowsThreadBind.html 将线程绑定至指定CPU,这个应该时很多管理员需要了解认知的操作了吧,这样可以在一定程度 ...

  6. NGINX源代码剖析 之 CPU绑定(CPU亲和性)

    作者:邹祁峰 邮箱:Qifeng.zou.job@gmail.com 博客:http://blog.csdn.net/qifengzou 日期:2014.06.12 18:44 转载请注明来自&quo ...

  7. linux下将不同线程绑定到不同core和cpu上——pthread_setaffinity_np

    =============================================================== linux下的单进程多线程的程序,要实现每个线程平均分配到多核cpu,主 ...

  8. Linux进程或线程绑定到CPU

    Linux进程或线程绑定到CPU 为了让程序拥有更好的性能,有时候需要将进程或线程绑定到特定的CPU,这样可以减少调度的开销和保护关键进程或线程. 进程绑定到CPU Linux提供一个接口,可以将进程 ...

  9. linux 将进程或者线程绑定到指定的cpu上

    基本概念 cpu亲和性(affinity) CPU的亲和性, 就是进程要在指定的 CPU 上尽量长时间地运行而不被迁移到其他处理器,也称为CPU关联性:再简单的点的描述就将指定的进程或线程绑定到相应的 ...

随机推荐

  1. 关于CORS(跨域资源共享)的几个http请求头小实验

    对几种与跨域相关的请求头做一个总结 关于跨域可以看:9 种常见的前端跨域解决方案(详解) 看完后可以配合我的代码做些实验,看看注释掉某个响应头会发生什么,整体代码会在最后贴出 跨域简单请求 需要在服务 ...

  2. axios Api介绍

    1.Performing a GET request axios.get('/user?ID=12345') .then(function (response) { // handle success ...

  3. 遍历集合的常见方式,排序,用lambda表示是怎样的

       Collection集合的功能:            Object[] toArray() 将集合转成数组            Iterator iterator() 通过方法的调用 获取I ...

  4. Python-列表做的购物车小程序

    一.流程为,输入你有多少钱,然后循环购买商品,输入‘q’ 退出程序 goods=[['苹果',6500],['华为',4999],['小米',2999],['oppo',3599]] #初始化列表,填 ...

  5. Android 登陆功能的实现(访问WebServices 解析返回的JSON结果)

    1. WebServices返回的JSON结果 { , "Result": [{ ", ", ", " }] } 2.访问WEB服务代码 i ...

  6. linux环境下的时间编程

    Linux下提供了丰富的api以供开发者们处理和时间相关的问题.然而这些接口看似各自为政实则有有着千丝万缕的联系,在学习和时间中引发了各种各样的混乱.因此时间处理成为了许多Linux开发者的梦魇,遇到 ...

  7. python中使用openpyxl模块时报错: File is not a zip file

    python中使用openpyxl模块时报错: File is not a zip file. 最大的原因就是不是真正的 xlsx文件, 如果是通过 库xlwt  新建的文件,或者是通过自己修改后缀名 ...

  8. JSP(一)----入门学习

    ##  JSP 1.概念: *  Java  Server  Pages:java服务端页面 *  可以理解为:一个特殊的页面,其中既可以直接定义html标签,又可以定义java代码 2.原理 *  ...

  9. Kullback-Leibler(KL)散度介绍

    在这篇文章中,我们将探讨一种比较两个概率分布的方法,称为Kullback-Leibler散度(通常简称为KL散度).通常在概率和统计中,我们会用更简单的近似分布来代替观察到的数据或复杂的分布.KL散度 ...

  10. LightOj 1197 Help Hanzo 区间素数筛

    题意: 给定一个区间a,b,a-b>=100000,1<=a<=b<=231,求出给定a,b区间内的素数的个数 区间素数筛 (a+i-1)/ ii向上取整,当a为 i 的整数倍 ...