多核 linux 绑定,Linux 操作系统下CPU多核心的绑定
現在多CPU的趨勢越來越大了. 有時候為了更好地操作機器, 需要將某個進程綁定到具體的CPU上去. 下面給出了一個進程綁定到具體的CPU上去的一個例子.
cpu.c[CODE]
#include
#include
#include
#include
#include
#define?__USE_GNU
#include
#include
#include
int?main(int?argc,?char*?argv[])
{
int?num?=?sysconf(_SC_NPROCESSORS_CONF);
int?created_thread?=?0;
int?myid;
int?i;
int?j?=?0;
cpu_set_t?mask;
cpu_set_t?get;
if?(argc?!=?2)
{
printf("usage?:?./cpu?num\n"); //輸入要綁定的CPU序號
exit(1);
}
myid?=?atoi(argv[1]);
printf("system?has?%i?processor(s).?\n",?num);
CPU_ZERO(&mask);
CPU_SET(myid,?&mask);
if?(sched_setaffinity(0,?sizeof(mask),?&mask)?==?-1) //綁定到CPU
{
printf("warning:?could?not?set?CPU?affinity,?continuing...\n");
}
while?(1)
{
CPU_ZERO(&get);
if?(sched_getaffinity(0,?sizeof(get),?&get)?==?-1)
{
printf("warning:?cound?not?get?cpu?affinity,?continuing...\n");
}
for?(i?=?0;?i?
{
if?(CPU_ISSET(i,?&get))
{
printf("this?process?%d?is?running?processor?:?%d\n",getpid(),?i);
}
}
}
return?0;
}
總結
以上是生活随笔為你收集整理的多核 linux 绑定,Linux 操作系统下CPU多核心的绑定的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在linux中表示第一个虚拟磁盘的第二个
- 下一篇: xmanager linux,教您用xm