查找linux内核中的CPU数量

时间:2017-04-02 18:13:01

标签: linux linux-kernel

我想检测linux内核中的CPU数量并编写一个找到它的sys_call。

cpuinfo_x86给出了一个CPU和cpu_detect的功能,但是如何查找要检测的CPU数量?

4 个答案:

答案 0 :(得分:2)

使用MACRO NR_CPUS我们可以找到CPU的数量。 不应在early_init序列中使用此宏因为大多数NR_CPUS不会被初始化,因为它是运行时宏。

或者您可以使用num_online_cpus()函数在线获取cpu的数量。

您可以在include/linux/cpumask.h标题中找到更多选项,以查找各种类型的CPUS的可用性。

答案 1 :(得分:1)

您可以使用在内核启动和初始化期间由所有体系结构设置的nr_cpu_ids变量。

答案 2 :(得分:-1)

尝试:

$lscpu

这为我提供了有关CPU,架构等的信息......

答案 3 :(得分:-2)

就个人而言,我用cat / proc / cpuinfo来了解机器上的CPU。