如何检查内核中是启用还是禁用SMP?

时间:2013-12-31 06:28:39

标签: linux-kernel embedded-linux

我想知道如何检查我的正在运行的计算机,是否为SMP配置了内核?当然,我可以查看内核.config文件并搜索它。但是,问题是我说我没有源代码,我将如何检查SMP配置?是否有任何 proc 文件来检查它?

以下说我没有多核:

#cat /proc/cpuinfo

processor               : 1
cpu model               : Broadcom BMIPS5000 V1.1  FPU V0.1
BogoMIPS                : 651.26
cpu MHz                 : 1305.018
wait instruction        : yes
microsecond timers      : yes
tlb_entries             : 64
extra interrupt vector  : yes
hardware watchpoint     : no
ASEs implemented        :
shadow register sets    : 1
kscratch registers      : 0
core                    : 0
VCED exceptions         : not available
VCEI exceptions         : not available

uname -a的输出说:

Linux 136.170.193.3 3.3.8-2.4 #2 SMP Fri Dec 13 07:11:03 EST 2013 mips GNU/Linux

这里有点令人困惑。评论中有人建议我查看uname -a。我不确定结果是否可靠。我可以假设使用uname -a生成的关键字SMP,内核配置为SMP吗?

5 个答案:

答案 0 :(得分:3)

“top”命令可能对此有所帮助,您可以使用 -

查看正在运行的任务列表以及它们正在执行的当前处理器ID
  

top -H

然后按f进入字段选择,j启用CPU核心列,并显示Enter

核心信息将显示在P列下。

答案 1 :(得分:1)

  

我可以假设吗?   使用uname -a生成的关键字SMP,内核是   配置为SMP?

是。编译内核时会生成uname返回的版本字符串。

答案 2 :(得分:0)

在Linux配置中,检查CONFIG_SMP=y。如果设置了此配置,则内核将以Symmetric multiprocessing运行。

在/ boot中找到您的配置文件(通常在ubuntu上将文件名称设为config-$(uname -r)),否则请检查/proc/config.gz

答案 3 :(得分:0)

对于嵌入式系统,

CONFIG_SMP=y,而不是CONFIG_CMP=y

zcat /proc/config.gz | grep CONFIG_SMP

如果是桌面, 从/ boot目录找到你的配置文件,找到CONFIG_SMP的grep,它应该是=y

答案 4 :(得分:0)

只需使用

进行检查
  

PS

命令并检查cpu id。

您甚至可以使用

  

ps -ef