我希望检测Linux内核中CPU的数量,并编写一个系统调用来查找它。
cpuinfo_x86给出一个CPU的特性,而cpu_detect则填充它,但如何查找要检测的CPU数量呢?
NR_CPUS
,我们可以找到CPU的数量。由于NR_CPUS是运行时宏,因此不应在早期初始化序列中使用此宏,因为大多数情况下NR_CPUS将未初始化。num_online_cpus()
函数获取在线CPU的数量。include/linux/cpumask.h
头文件中找到更多选项,以查找各种类型的CPU的可用性。尝试:
$lscpu
这为我提供了关于CPU以及架构等方面的信息...
个人而言,我会使用 cat /proc/cpuinfo 命令来了解一台计算机上的 CPU 信息。