多核亲和性

简介: 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

 

目录
相关文章
|
2月前
|
算法 调度
操作系统基础:处理机调度【下】
操作系统基础:处理机调度【下】
|
2月前
|
存储 缓存 Linux
CPU高速缓存架构
CPU高速缓存架构
|
2月前
|
存储 调度
操作系统基础:处理机调度【上】
操作系统基础:处理机调度【上】
|
5月前
|
缓存 Linux 调度
CPU的亲和性
CPU的亲和性
97 0
|
5月前
|
资源调度 算法 调度
CPU调度
CPU调度
53 0
|
6月前
|
机器学习/深度学习 人工智能 缓存
基于改进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日 (本文属于《可持续制造的特刊调度理论与算法》)
46 0
基于改进Slime Mold算法的多处理器公平调度
|
缓存 Linux 芯片
多核CPU的运行模式详解
多核CPU的运行模式详解
526 0
多核CPU的运行模式详解
|
算法 调度 UED
操作系统】 2.2 调度概念以及调度算法
操作系统】 2.2 调度概念以及调度算法
操作系统】 2.2 调度概念以及调度算法
|
算法 调度
进程调度策略有哪几种
进程调度策略有哪几种
142 0