C获取系统中CPU核数

摘要:
_SC_ NPROCESSORS_CONF:返回系统中所有CPU核的数量。该值还包括系统中禁止用户使用的CPU数量_ SC_ NPROCESSORS_ONLN:返回系统中可用CPU核的数量#include“unistd.h”printf;打印f;2.GNUCLibrary还提供了一种获取CPU数量的方法,get_nprocs_Conf()和get_nprocs()函数可用于获取系统CPU数量,该数量在头文件“sys/sysinfo.h”中声明。
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());

免责声明:文章转载自《C获取系统中CPU核数》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇时间序列数据库调研之InfluxDBOcelot和Consul 实现网关API 服务注册 负载均衡下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

基于第三方开源库的OPC服务器开发指南(3)——OPC客户端

本篇将讲解如何编写一个OPC客户端程序测试我们在前文《基于第三方开源库的OPC服务器开发指南(2)——LightOPC的编译及部署》一篇建立的服务器。本指南的目的是熟悉OPC服务器的开发流程,所以客户端部分我就不做过多描述,只是简单讲解几个关键技术细节及其实现函数,完整工程源码请从如下地址获取: https://github.com/Neo-T/OPCDA...

Linux(debian7)操作基础(四)之CPU频率调整 Linux系统CPU频率调整工具使用

在Linux中,内核的开发者定义了一套框架模型来完成CPU频率动态调整这一目的,它就是CPU Freq系统。如下为CPU的几种模式(governor参数): ondemand:系统默认的超频模式,按需调节,内核提供的功能,不是很强大,但有效实现了动态频率调节,平时以低速方式运行,当系统负载提高时候自动提高频率。以这种模式运行不会因为降频造成性能降低,同时也...

getopt、getopt_long和getopt_long_only

GNU/Linux的命令行选项有两种类型:短选项和长选项,前者以 '-' 作为前导符,后者以 '--' 作为前导符。比如有一个命令: $ myprog -a vv --add -b --file a.txt b.txt - -- -e c.txt 在GNU/Linux系统,对这种情况的一种合理解释是:a是短选项,带一个参数vv;add是长选项,无参数;b...

FFmpeg在Linux下编译使用

1.FFmpeg编译 1.1.安装yasm 这里我是直接通过ubuntu包安装的,当然也可以通过编译源码来安装。 sudo apt-get install yasm 1.2.下载FFmpeg git clone https://git.ffmpeg.org/ffmpeg.git 1.3.配置、编译FFMPEG ./configure --prefix=ho...

c++程序中写测试log到文件的简单实现

1、int WriteToLog(char* str) { FILE* log; log = fopen("D:\\testlog.txt", "a+"); if (log == NULL){ //OutputDebugString("Log file open failed."); return -1; } fprintf(log, "%s...

Linux、Windows如何进行性能监控与调优

【本文版权归微信公众号"代码艺术"(ID:onblog)所有,若是转载请务必保留本段原创声明,违者必究。若是文章有不足之处,欢迎关注微信公众号私信与我进行交流!】 1.Linux命令行工具 推荐:CentOS 7 1.1 top命令 top命令的输出如下: top命令的输出可以分为两部分:前半部分是系统统计信息,后半部分是进程信息。在统计信息中, 第1行...