设置程序在指定CPU核心运行
一、如何查看程序运行的CPU信息
1.1 查看当前系统CPU有几个核心
查看CPU核心数量:lscpu
1.2 查看程序的PID
ps aux|grep cpu_test
1.3 查看程序可运行的CPU
taskset -c -p pid
1.4 设置程序在指定核心上运行
1.4.1 通过运行时的参数设置
taskset -c 1 ./cpu_test
1.4.2 通过代码设置
#define _GNU_SOURCE
#include <stdio.h>
#include <sched.h>
int main() {
cpu_set_t mask;
CPU_ZERO(&mask);
CPU_SET(1,&mask);
if(sched_setaffinity(0,sizeof(mask),&mask)== -1)
{
perror("sched setaffinity");
return -1;
}
while(1)
{
printf("Hello, World!\n");
sleep(1);
}
return 0;
}
二、未设置程序在指定CPU核心运行
// cpu_test.c
#include <stdio.h>
int main() {
while(1)
{
printf("Hello, World!\n");
sleep(1);
}
return 0;
}
查看程序的PID
查看程序可运行的核
得出该程序可以在0-3 4个核上运行。
三、设置程序在指定CPU核心运行
假设我们要使程序运行在第2个核上:
#define _GNU_SOURCE
#include <stdio.h>
#include <sched.h>
int main() {
cpu_set_t mask;
CPU_ZERO(&mask);
CPU_SET(1,&mask);
if(sched_setaffinity(0,sizeof(mask),&mask)== -1)
{
perror("sched setaffinity");
return -1;
}
while(1)
{
printf("Hello, World!\n");
sleep(1);
}
return 0;
}
查看程序的PID
查看程序可运行的CPU核
文章来源:https://www.toymoban.com/news/detail-831310.html
得出设置成功,已将程序绑定在CPU的第2个核上。文章来源地址https://www.toymoban.com/news/detail-831310.html
到了这里,关于Linux下多核CPU指定程序运行的核的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!