Linux下获取cpu数量

  • Post author:
  • Post category:linux


1. 通过shell获取cpu相关

1.1 查看CPU详细信息

cat /proc/cpuinfo

这个命令可以看到cpu每个核的信息

这里写图片描述

1.2 查看CPU信息

lscpu

这里写图片描述

1.3 查看进程在哪个CPU上运行

ps -eo pid,args,psr | grep xxx
# pid - 进程ID
# args - 该进程执行时传入的命令行参数
# psr - 分配给进程的CPU

2. 通过C程序编程获取

两个API

#include <sys/sysinfo.h>
int get_nprocs(void);
int get_nprocs_conf(void);


get_nprocs_conf


返回CPU总核数

,包括系统中禁用的核的数目,因此该值并不代表当前系统中可用的核数。


get_nprocs


返回系统当前可用的核数

示例:

#include <stdio.h>
#include <sys/sysinfo.h>

int main(int argc, char* argv[])
{
    printf("cpu total: %d\n", get_nprocs_conf());
    printf("cpu num: %d\n", get_nprocs());
    return 0;
}



版权声明:本文为marcellen原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。