我想检测linux内核中的CPU数量并编写一个找到它的sys_call。
cpuinfo_x86给出了一个CPU和cpu_detect的功能,但是如何查找要检测的CPU数量?
答案 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。