Linux下獲取cpu數量
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;
}