多核亲和性

简介: 1,进程绑定#include  cpu_set_t  set;void CPU_ZERO(cpu_set_t *set);void CPU_SET(int cpu, cpu_set_t *set);void CPU_CLR(int cpu, cpu_set_t *set);int CPU_ISSE...

1,进程绑定

#include <sched.h> 
cpu_set_t  set;
void CPU_ZERO(cpu_set_t *set);
void CPU_SET(int cpu, cpu_set_t *set);
void CPU_CLR(int cpu, cpu_set_t *set);
int CPU_ISSET(int cpu, cpu_set_t *set);

int sched_setaffinity(pid_t pid, size_t cpusetsize,cpu_set_t *mask);   
int sched_getaffinity(pid_t pid, size_t cpusetsize,cpu_set_t *mask);   

 

2,线程绑定

int pthread_setaffinity_np(pthread_t thread, size_t cpusetsize, const cpu_set_t *cpuset);
int pthread_getaffinity_np(pthread_t thread, size_t cpusetsize, cpu_set_t *cpuset);

 

3,内核态

void kthread_bind (struct task_struct *k, unsigned int  cpu);
int set_cpus_allowed(struct task_struct *k, cpumask_t new_mask);

 

4,命令行绑定

taskset -p <COREMASK>  <PID>

taskset -cp <CORE-LIST>  <PID> 

 

5,中断绑核:

echo 0x3 /proc/irq/24/smp_affinity

cat /proc/irq/24/smp_affinity

 

目录
相关文章
|
6月前
|
算法 调度
处理机(CPU)调度
处理机(CPU)调度
118 1
|
机器学习/深度学习 人工智能 缓存
基于改进Slime Mold算法的多处理器公平调度
基于改进Slime Mold算法的多处理器公平调度 常州大学计算机科学与人工智能学院,常州213164 * 通信地址应为的作者。 † 这些作者对这项工作做出了同样的贡献。 算法2023,16(10),473;https://doi.org/10.3390/a16100473(注册DOI) 接收日期:2023年9月25日/修订日期:2023.10月4日/接受日期:2024.10月7日 (本文属于《可持续制造的特刊调度理论与算法》)
131 0
基于改进Slime Mold算法的多处理器公平调度
|
缓存 Linux 调度
CPU的亲和性
CPU的亲和性
280 0
|
资源调度 算法 调度
CPU调度
CPU调度
151 0
|
缓存 Linux 芯片
多核CPU的运行模式详解
多核CPU的运行模式详解
655 0
多核CPU的运行模式详解
|
缓存
如何提高多线程程序的cpu利用率
正如大家所知道的那样,多核多cpu越来越普遍了,而且编写多线程程序也是件很简单的事情。在Windows下面,调用CreateThread函数一次就能够以你想要的函数地址新建一个子线程运行。然后,事情确实你发现创建多线程根本没有让程序快多少,也没有提高多少cpu利用率,甚至可能让cpu利用率下降。
2378 0
|
调度
CFS调度器
CFS调度器
|
算法 调度
进程调度策略有哪几种
进程调度策略有哪几种
188 0
|
流计算 jstorm
Jstorm 调度硬件资源cgroups
cgroups是control groups的缩写,是Linux内核提供的一种可以限制, 记录, 隔离进程组(process groups)所使用的物理资源(如:cpu,memory,IO 等等)的机制。
492 0

热门文章

最新文章