c语言获取cpu数量

1、在Linux下获取CPU核数
linux下可以通过linux系统提供的sysconf()来获取当前CPU个数,sysconf在头文件unistd.h中声明。
sysconf函数中输入参数_SC_NPROCESSORS_CONF和_SC_NPROCESSORS_ONLN均可以获取系统CPU个数。
_SC_NPROCESSORS_CONF:返回系统所有的CPU核数,这个值也包括系统中禁止用户使用的CPU个数;
_SC_NPROCESSORS_ONLN:返回系统中可用的CPU核数;
#include "unistd.h"
printf("system cpu num is %d", sysconf( _SC_NPROCESSORS_CONF));
printf("system enable cpu num is %d", sysconf(_SC_NPROCESSORS_ONLN));

2、GNU C Library也提供了一种获取CPU个数的方法,get_nprocs_conf()和get_nprocs()函数可以用来获取系统CPU个数,在头文件“sys/sysinfo.h”中声明。
get_nprocs_conf():与sysconf( _SC_NPROCESSORS_CONF)作用相同,获取当前系统所有的CPU核数;
get_nprocs():与sysconf( _SC_NPROCESSORS_ONLN)作用相同,获取当前系统用户可以使用的CPU核数。

#include "sys/sysinfo.h"
printf("system cpu num is %d", get_nprocs_conf());
printf("system enable num is %d", get_nprocs());
 
posted @   zhjh256  阅读(1255)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
历史上的今天:
2018-06-25 mysql、oracle分库分表方案之sharding-jdbc使用(非demo示例)
2018-06-25 ORA-00600: internal error code, arguments: [13030], [20]一例解决
2018-06-25 3 字节的 UTF-8 序列的字节 3 无效 解决
2017-06-25 maven单元测试报java.lang.IllegalStateException: Failed to load ApplicationContext
2017-06-25 hibernate validator自定义校验注解以及基于服务(服务组)的校验
2017-06-25 比beanutil更加灵活的dto转换工具dozer
2017-06-25 java泛型中<?>和<T>区别
点击右上角即可分享
微信分享提示