最近开始做服务器,要求获取当前的CPU核数,就做了个Demo,获取CPU核数。
系统环境:ubuntu16.04
CPU信息:Intel® Core™ i5-7200U CPU @ 2.50GHz × 4
代码如下(跨平台):
#include #if WIN32
#include "windows.h"
#else
#include "unistd.h"
#endif
int main()
{
#if WIN32
SYSTEM_INFO sysInfo;
GetSystemInfo(&sysInfo);
int allCPUNum_ = sysInfo.dwNumberOfProcessors;
printf("all CPU Num:%d\n",allCPUNum_);
#else //linux
//获取当前系统的所有CPU核数,包含禁用的
int allCPUNum_ = sysconf(_SC_NPROCESSORS_CONF);
//获取当前系统的可用CPU核数
int enableCPUNum_ = sysconf(_SC_NPROCESSORS_ONLN);
printf("all CPU Num:%d\n",allCPUNum_);
printf("enable CPU Num:%d\n",enableCPUNum_);
#endif
return 0;
}
程序运行如下:
Starting /home/tck/learn/CPU_Num/build-CPU_Num-unknown-Debug/CPU_Num...
all CPU Num:4
enable CPU Num:4
/home/tck/learn/CPU_Num/build-CPU_Num-unknown-Debug/CPU_Num exited with code 0
结尾:
只为记录,只为分享! 愿所写能对你有所帮助。不忘记点个赞,谢谢~