Linux kernel 如何检查内核中是否启用或禁用了SMP?
我想知道如何在我正在运行的机器上检查内核是否配置为SMP?当然,我可以查看内核Linux kernel 如何检查内核中是否启用或禁用了SMP?,linux-kernel,embedded-linux,Linux Kernel,Embedded Linux,我想知道如何在我正在运行的机器上检查内核是否配置为SMP?当然,我可以查看内核.config文件并搜索它。但是,问题是,假设我没有源代码,我将如何检查SMP配置?是否有任何程序文件来检查它 以下说明我没有多核: #cat /proc/cpuinfo processor : 1 cpu model : Broadcom BMIPS5000 V1.1 FPU V0.1 BogoMIPS : 651.26 cpu
.config
文件并搜索它。但是,问题是,假设我没有源代码,我将如何检查SMP配置?是否有任何程序文件来检查它
以下说明我没有多核:
#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
我可以假设吗
使用uname-a生成的关键字SMP,内核是
配置为SMP
对。uname返回的版本字符串是在编译内核时生成的 在Linux配置中,检查
CONFIG\u SMP=y
。如果设置了此配置,那么内核将使用对称多处理运行
在/boot中找到您的配置文件(在ubuntu上通常文件名为
config-$(uname-r)
),或者在嵌入式系统中检查/proc/config.gz
它是CONFIG\u SMP=y
,而不是CONFIG\u CMP=y
zcat /proc/config.gz | grep CONFIG_SMP
如果是台式机,
从/boot目录和grep中找到您的配置文件,它应该是=y
“top”命令可能有助于实现这一点,您可以通过使用-
顶H
然后按f
进入字段选择,然后按j
启用CPU核心列,然后按Enter
显示
核心信息将显示在p
列下 只需使用
ps
命令并检查cpu id
你甚至可以使用
ps-ef
uname-a说明了这一点吗?在编译时不知道它与SMP配置有什么关系。