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 版权协议,转载请附上原文出处链接和本声明。