转自:https://www.cnblogs.com/ggzhangxiaochao/p/13530103.html

1、在Linux下获取CPU核数

linux下可以通过linux系统提供的sysconf()来获取当前CPU个数,sysconf在头文件unistd.h中声明。

sysconf函数中输入参数_SC_NPROCESSORS_CONF和_SC_NPROCESSORS_ONLN均可以获取系统CPU个数。

snippet.c
#include "unistd.h"
printf("system cpu num is %d\n", sysconf( _SC_NPROCESSORS_CONF));
printf("system enable cpu num is %d\n", sysconf(_SC_NPROCESSORS_ONLN));

2、GNU C Library的方法

get_nprocs_conf()和get_nprocs()函数可以用来获取系统CPU个数,在头文件“sys/sysinfo.h”中声明。

snippet.c
#include "sys/sysinfo.h"
printf("system cpu num is %d\n", get_nprocs_conf());
printf("system enable num is %d\n", get_nprocs());