Linux 平台 C/C++ 获取CPU核心数
-
在wzr同学的基础上,补充一下关于 Linux 下获取CPU核心数的方法。
返回值 unistd.h
sys/sysinfo.h
底层函数 查询文件 总核数 sysconf(_SC_NPROCESSORS_CONF)
get_nprocs_conf()
__get_nprocs_conf()
/sys/devices/system/cpu
未禁用核数 sysconf(_SC_NPROCESSORS_ONLN)
get_nprocs()
__get_nprocs()
/sys/devices/system/cpu/online
即 sysconf 和 get_nprocs 都是通过访问
/sys/devices/system/cpu/online
获取当前可用核数。此外,向/sys/devices/system/cpu/cpu${n}/online
(n
为cpu id)写入数据可以设置是否屏蔽该CPU,写入0
表示禁用,1
表示启用。
-
相关源码:
get_nprocs()