如何在Ubuntu中从Eclipse运行C代码时设置CPU亲和性?

时间:2013-02-23 03:30:43

标签: c eclipse ubuntu affinity

我可以使用'taskset -c 0 ./out'从终端执行此操作。 我怎样才能从Eclipse中做同样的事情?

2 个答案:

答案 0 :(得分:0)

试试这个

/* must be root to use these sched_function-----------------------*/

#define CPU_N 0 // affinity process




 void fix_affinity()
    {
      int error=0;
      cpu_set_t mask;
      /*  mask init  */
      CPU_ZERO(&mask);
      /* add CPU_N to  the mask */
      CPU_SET(CPU_N,&mask);

      /**
         test root access
      **/

      if(getuid()==0)
        {
          /*change affinity of process */
          error=sched_setaffinity(0,sizeof(cpu_set_t),&mask);
        }
      else
        {
          printf("must be root to change affinity\n");
        }
      if(error<0)
        {
          printf("sched_setaffinity() failed \n");
        }

    }

并在您的代码中调用它

  fix_affinity();

答案 1 :(得分:0)

运行->运行配置->参数(标签)

添加

/ C“任务集-c 0。\ out”