测试机器的硬件信息:
查看CPU信息(型号)
# cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
8 Intel(R) Xeon(R) CPU E5410 @ 2.33GHz
(看到有8个逻辑CPU, 也知道了CPU型号)
# cat /proc/cpuinfo | grep physical | uniq -c
4 physical id : 0
4 physical id : 1
(说明实际上是两颗4核的CPU)
# getconf LONG_BIT
32
(说明当前CPU运行在32bit模式下, 但不代表CPU不支持64bit)
# cat /proc/cpuinfo | grep flags | grep ' lm ' | wc -l
8
(结果大于0, 说明支持64bit计算. lm指long mode, 支持lm则是64bit)
再完整看cpu详细信息, 不过大部分我们都不关心而已.
# dmidecode | grep 'Processor Information'
查看内存信息
# cat /proc/meminfo
# uname -a
Linux euis1 2.6.9-55.ELsmp #1 SMP Fri Apr 20 17:03:35 EDT 2007 i686 i686 i386 GNU/Linux
(查看当前操作内核信息)
# cat /etc/issue | grep
Red Hat Enterprise Linux AS release 4 (Nahant Update 5)
(查看当前操作系统发行版信息)
查看机器型号
# dmidecode | grep "Product Name"
查看网卡信息
# dmesg | grep -i eth
注:
对于Intel(R) Xeon(R) CPU E7420,正确来说,应该有4个物理处理器,16个物理核。
个人认为这是一个操作系统内核识别的BUG。参照
从 /proc/info 文件里的
cpu cores : 8
可以看出系统内核认为有8个核(此处无法确定是逻辑还是物理核)
但是从
[root@ktsjk ~]# cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l
4
[root@ktsjk ~]# cat /proc/cpuinfo | grep "siblings" | uniq
siblings : 4
[root@ktsjk ~]# cat /proc/cpuinfo | grep "processor" | wc -l
16
[root@ktsjk ~]# cat /proc/cpuinfo | grep "core id" | sort | uniq | wc -l
16
可以看出该机器有4个物理处理器,16个逻辑处理器,16个核(此处同样无法确定是逻辑还是物理核)。每个物理处理器中有4个超线程。
从这个帖子()得知:
Hyper-Threading creates logical CPUs (refered to as sibling CPUs by the kernel),也就是说SIBLING是内核认为的单个物理处理器所有的超线程个数。如果SIBLING等于实际物理核数的话,就说明没有启动超线程,反之启用超线程。
Intel(R) Xeon(R) CPU E7420是4核cpu,所以没有启用超线程。
注意,这一切都是操作系统认为的数据!有些操作系统版本会把启动了(或者说支持?)超线程的处理器/核的逻辑处理器数量加倍。比如单物理处理器单核启用超线程,有的内核会识别出2个核。core id或cpu cores就会是2,而不是1。如此似乎可以解释楼主的疑问了。具体解释可以参考帖子
阅读(1150) | 评论(0) | 转发(0) |