从男人5 proc:
06000
下面是示例代码,它将信息读取并打印到控制台,stolen from forums – 它实际上只是一个专门的cat命令.
#define _GNU_SOURCE
#include
#include
int main(int argc, char **argv)
{
FILE *cpuinfo = fopen("/proc/cpuinfo", "rb");
char *arg = 0;
size_t size = 0;
while(getdelim(&arg, &size, 0, cpuinfo) != -1)
{
puts(arg);
}
free(arg);
fclose(cpuinfo);
return 0;
}
请注意,如果您真的关心CPU数量与CPU核心数量,则需要解析并比较物理ID,核心ID和CPU核心以获得准确的结果.另请注意,如果有一个htt in标志,则表示您正在运行超线程CPU,这意味着您的里程可能会有所不同.
另请注意,如果在虚拟机中运行内核,则只能看到专用于VM guest虚拟机的CPU核心.