この記事は「1分で実現できる有用な技術 Advent Calendar 2014」の5日目の記事です。 Linuxカーネルが認識している論理cpu数を数えるのは↓みたいな感じでも良いのですがプロセスが利用できる数とは違うので多少注意が必要です。これはプロセスに対してリソースの制限がかけられている場合があるからですね。 #define _GNU_SOURCE #include <sched.h> #include <stdio.h> #include <unistd.h> #include <stdlib.h> void do_nproc(void) { printf("execute nproc command\n"); system("nproc"); } void set_affinity(void) { cpu_set_t set; CPU_ZERO(&set); CPU_SET(0