如何使用C语言在Linux中获取CPU数量?
如何使用C语言在Linux中获取CPU数量?
有没有一种API可以获取Linux中可用CPU的数量?我的意思是,不使用/proc/cpuinfo或任何其他sys-node文件...
我发现这个使用sched.h的实现:
int GetCPUCount() { cpu_set_t cs; CPU_ZERO(&cs); sched_getaffinity(0, sizeof(cs), &cs); int count = 0; for (int i = 0; i < 64; i++) { if (CPU_ISSET(i, &cs)) count++; else break; } return count; }
但是,难道没有使用常见库更高级别的东西吗?
admin 更改状态以发布 2023年5月22日
#include#include int main(int argc, char *argv[]) { printf("This system has %d processors configured and " "%d processors available.\n", get_nprocs_conf(), get_nprocs()); return 0; }
https://linux.die.net/man/3/get_nprocs
(提示:翻译时需要注意确保语句通顺,字面翻译可能不够准确)