Linux-环境下查询服务器硬件信息的常用命令
Linux 环境下查询服务器硬件信息的常用命令
文章目录
1. 前言
日常运维工作中,经常会遇到要查看一些硬件的技术规格参数,印象比较深刻的是查询服务器的 SN 信息,因为一般做资产统计或者报硬件的 Case 都需要用到 SN 信息。我经常见到有人跑到数据中心机房就为了看下服务器的 SN 号;有些服务器配置了 BMC 管理网络,倒是可以通过各服务器厂商的带外管理平台去查看 SN 信息。当然,最开始的时候我也是这样做的;但是当我接触到了
dmidecode
命令以后,我就再也不去机房或者登录带外查 SN 信息了,直接一条命令就可以搞定,尤其是在批量执行获取服务器相关信息的时候,格外好用。
本文除了介绍
dmidecode
工具的常用命令,也会介绍一些查询 CPU 、内存以及 RAID 卡信息的工具和命令。
2. 常用查询命令
2.1. 查询服务器制造商、型号和序列号等信息
可以使用下面的命令进行查看:
[root@centos76-temp ~]# dmidecode -t 1
也可以使用 grep 进行关键字匹配查看:
[root@centos76-temp ~]# dmidecode | grep "System Information" -A9 | egrep "Manufacturer|Product|Serial"
Manufacturer: New H3C Technologies Co., Ltd. //服务器制造商
Product Name: UIS-Cell 3020 G3 //服务器产品型号
Serial Number: 210200A011H185000017 //服务器产品序列号
当然,除此之外,
dmidecode
工具还可以查询 BIOS、主板、机箱、处理器等硬件信息,这里就不在一一叙述,有兴趣的大家可以去了解一下。
2.2. 查询 RAID 卡信息
对于 RAID 卡,我们比较在乎的是其产品型号以及芯片信号。通常来说,使用
MegaCli
或者
StorCli
这些专业工具可以查询并配置很多 RAID 相关的参数,但是默认情况下,很多时候系统是没有安装这些工具的,还需要自己去手工安装一下。
下面以 MegaCLi 工具为例:
[root@localhost ~]# /opt/MegaRAID/MegaCli/MegaCli64 -cfgdsply -aall | grep -A 4 "Adapter"
Adapter: 0 //标识号为“0”,有的服务器会使用双 RAID 卡,此 ID 作为 RAID 卡的标识。
Product Name: PERC H730 Mini //RAID 卡产品型号。
Memory: 1024MB //表示 1GB 缓存。
BBU: Present
Serial No: 61R06EJ
以 StorCli 工具为例:
[root@localhost ~]# /opt/MegaRAID/storcli/storcli64 /c0 show |grep "Product Name"
Product Name = AVAGO MegaRAID SAS 9361-8i 2GB
除此之外,我们也可以使用系统自带的
lspci
工具通过 RAID 卡对应的 PCIe 号来查询信息:
[root@localhost ~]# lspci |grep -i raid
26:00.0 RAID bus controller: LSI Logic / Symbios Logic MegaRAID SAS-3 3108 [Invader] (rev 02)
当然,还可以通过
/proc/scsi/scsi
文件查询,但是这个方法并不是百分百通用,在有些环境里面是查询不到的:
[root@localhost ~]# cat /proc/scsi/scsi | grep Vendor
Vendor: AVAGO Model: MR9361-8i Rev: 4.68
Vendor: AVAGO Model: MR9361-8i Rev: 4.68
2.3. 查询处理器信息
查询 CPU 的详细信息,一般可以使用如下命令:
[root@localhost ~]# cat /proc/cpuinfo
不过最常用的命令还是下面这个:
[root@localhost ~]# lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 48 //CPU 总 Core 数或称为逻辑 CPU 数。
On-line CPU(s) list: 0-47
Thread(s) per core: 2 //超线程(总 Core 数要包括超线程)。
Core(s) per socket: 12 //每颗 CPU 的 Core 数。
Socket(s): 2 // CPU颗数。
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 85
Model name: Intel(R) Xeon(R) Silver 4116 CPU @ 2.10GHz //CPU 型号。
Stepping: 4
CPU MHz: 827.941
CPU max MHz: 3000.0000
CPU min MHz: 800.0000
BogoMIPS: 4200.00
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 1024K
L3 cache: 16896K
NUMA node0 CPU(s): 0-47 //NUMA 信息。
还可以针对性的查询需要的 CPU 参数信息:
- 查看 CPU 型号
[root@localhost ~]# cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
48 Intel(R) Xeon(R) Silver 4116 CPU @ 2.10GHz
- 查看物理 CPU 个数
[root@localhost ~]# cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l
2
- 查看逻辑 CPU 个数(包含开启超线程的 Core 计数)
[root@localhost ~]# cat /proc/cpuinfo | grep "processor" | wc -l
48
- 查看单颗 CPU 的核心数
[root@localhost ~]# cat /proc/cpuinfo | grep "cpu cores" | uniq
cpu cores : 12
2.4. 查询内存信息
2.4.1. 查询系统内存使用情况
[root@localhost ~]# cat /proc/meminfo
[root@localhost ~]# free -h
[root@localhost ~]# free -w //可以将 buffer 与 cache 的数据进行拆分显示。
2.4.2. 查询物理内存插槽数
通过下面的查询结果不难看出,当前服务器一共提供了 24 个内存槽位,其中有 8 个槽位目前安装了大小为 32GB 的内存条。
[root@localhost ~]# dmidecode | grep -A5 "Memory Device" | grep Size | grep -v Range
Size: 32 GB
Size: No Module Installed
Size: 32 GB
Size: No Module Installed
Size: 32 GB
Size: No Module Installed
Size: 32 GB
Size: No Module Installed
Size: No Module Installed
Size: No Module Installed
Size: No Module Installed
Size: No Module Installed
Size: 32 GB
Size: No Module Installed
Size: 32 GB
Size: No Module Installed
Size: 32 GB
Size: No Module Installed
Size: 32 GB
Size: No Module Installed
Size: No Module Installed
Size: No Module Installed
Size: No Module Installed
Size: No Module Installed
2.4.3. 查看内存频率
[root@localhost ~]# dmidecode | grep -A16 "Memory Device" | grep 'Speed'
Speed: 2666 MHz
Speed: Unknown
Speed: 2666 MHz
Speed: Unknown
Speed: 2666 MHz
Speed: Unknown
Speed: 2666 MHz
Speed: Unknown
Speed: Unknown
Speed: Unknown
Speed: Unknown
Speed: Unknown
Speed: 2666 MHz
Speed: Unknown
Speed: 2666 MHz
Speed: Unknown
Speed: 2666 MHz
Speed: Unknown
Speed: 2666 MHz
Speed: Unknown
Speed: Unknown
Speed: Unknown
Speed: Unknown
Speed: Unknown
2.5. 查询 BMC 带外管理 IP 地址
[root@localhost ~]# ipmitool lan print | grep "IP Address"
IP Address Source : Static Address
IP Address : 10.10.100.207
3. 总结
目前基于 Linux 系统查询服务器的一些硬件参数信息的方法先分享到这里,后续如果积累到一些其它好用的工具和命令,也会及时更新进来。同时,后期还会出一篇基于 ESXi 操作系统查询硬件参数信息的博客。