Linux主机硬件信息采集命令汇总

Linux主机硬件信息采集命令汇总

快速收集主机硬件信息,对于问题定位意义重大,能够掌握本文的知识,也说明你是一个经验丰富的工程师。

🧠 一、基础信息识别

功能命令
查看产品型号cat /sys/class/dmi/id/product_name
查看厂商cat /sys/class/dmi/id/sys_vendor
查看主板型号cat /sys/class/dmi/id/board_name
查看序列号cat /sys/class/dmi/id/product_serial
查看 UUIDdmidecode -s system-uuid

📋示例输出

[root@reg ]# cat /sys/class/dmi/id/product_nameVMware Virtual Platform #esxi虚拟化平台#其他平台KVM Virtual Machine #kvm虚拟机Alibaba Cloud #阿里云主机

这些信息可帮助你判断主机运行在哪种虚拟化平台上。

⚙️ 二、CPU 信息

🔹 查看 CPU 架构与核心

lscpu

🔹 判断是否支持虚拟化或AVX指令集

lscpu | grep -E 'vmx|svm|avx'

🔹 查看物理 CPU 数与核心数

cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -lcat /proc/cpuinfo | grep "cpu cores" | uniq

这些信息常用于

  • • 分析性能瓶颈
  • • 判断是否支持 KVM / Docker 虚拟化
  • • 验证云主机 CPU 分配策略

💾 三、磁盘与存储信息

🔹 查看磁盘类型与序列号

lsblk -o NAME,TYPE,SIZE,MODEL,ROTA,SERIAL,MOUNTPOINT

ROTA=0→ SSD
ROTA=1→ HDD(机械盘)

🔹 查看磁盘详细属性

udevadm info --query=all --name=/dev/sda | grep -E 'ID_MODEL|ID_SERIAL|ROTATION'

🔹 NVMe SSD查看方式

nvme list

👉 这些命令能帮助你判断磁盘是否为固态、型号是否一致、是否存在虚拟盘。

🧠 四、内存与插槽信息

🔹 查看内存使用

free -h

🔹 查看每条内存条的大小、插槽、类型、速率

dmidecode -t memory | grep -E 'Size|Locator|Type|Speed'

💡 可快速判断哪些插槽为空、哪些内存频率不匹配,是排查硬件问题的利器。

🌐 五、网络与虚拟网卡识别

🔹 查看所有网络接口

DEVICE TYPE STATE CONNECTION dq bridge 已连接 dq enP1s16f1 ethernet 已连接 enP1s16f1 virbr0 bridge 连接(外部) virbr0 enP1s16f0 ethernet 已连接 enP1s16f0 vnet0 tun 连接(外部) vnet0 vnet1 tun 连接(外部) vnet1 vnet2 tun 连接(外部) vnet2 enP2s1f0 ethernet 已断开 -- enP2s1f1 ethernet 已断开 -- enP2s1f2 ethernet 已断开 -- enP2s1f3 ethernet 已断开 -- docker0 bridge 未托管 -- lo loopback 未托管 -- virbr0-nic tun 未托管 --
🔹状态解释:
  • dqenP1s16f0/f1:已物理连接,由 NetworkManager 管理。
  • virbr0 / vnet0~2:由libvirt(KVM虚拟化)创建,NetworkManager 检测到它们,但不去管理,状态是“连接(外部)”。
  • docker0:Docker 创建的虚拟网桥。NetworkManager 默认不会托管它,否则可能会干扰容器网络。
  • lo(环回)和virbr0-nic:同样是未托管设备,系统自身或 libvirt 使用。
  • enP2s1f0~3:物理网卡,目前没有激活连接,就是没有接入网线。

🔹查看所有网络接口

ip -br link

🔹 查看单个网卡详细参数

ethtool eth0

在 Kubernetes 环境中,常见网卡说明如下

网卡说明
cni0容器 Bridge 网卡(容器内部通信)
flannel.1Flannel VXLAN 隧道接口(跨节点通信)
cbr0Kubernetes Bridge(旧版本常见)

🧾 六、系统与BIOS信息

🔹 查看系统版本

cat /etc/os-release

🔹 查看内核版本

uname -r

🔹 查看 BIOS 信息

dmidecode -s bios-versiondmidecode -s bios-release-date

🔐 七、唯一机器标识(身份识别)

🔹 系统唯一标识

cat /etc/machine-id

🔹 系统UUID

dmidecode -s system-uuid

💡 这两项信息通常用于

  • • 主机注册
  • • 软件授权
  • • CMDB 资产唯一标识

🧩 八、一键信息采集脚本

📦 以下脚本可自动收集关键系统信息

#!/bin/bashecho"==== 基础信息 ===="cat /sys/class/dmi/id/{sys_vendor,product_name,product_serial} 2>/dev/nullecho"==== CPU ===="lscpu | grep -E 'Model name|Socket|Thread|Core|Vendor|Flags'echo"==== 磁盘 ===="lsblk -o NAME,SIZE,ROTA,MODEL,SERIAL | grep -v loopecho"==== 内存 ===="dmidecode -t memory | grep -E 'Size|Locator|Type|Speed' | grep -v "No Module Installed"echo"==== 网卡 ===="ip -br linkecho"==== 系统 ===="cat /etc/os-release | grep PRETTY_NAMEuname -rcat /etc/machine-id