Linux下获取cpu数量

来源:互联网 发布:美折促销软件 编辑:程序博客网 时间:2024/06/05 13:03

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;}