目录

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 操作系统查询硬件参数信息的博客。