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示例输出[rootreg ]# 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,MOUNTPOINTROTA0→ SSDROTA1→ HDD机械盘 查看磁盘详细属性udevadm info --queryall --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 未托管 --状态解释•dq、enP1s16f0/f1已物理连接由 NetworkManager 管理。•virbr0 / vnet0~2由libvirtKVM虚拟化创建NetworkManager 检测到它们但不去管理状态是“连接外部”。•docker0Docker 创建的虚拟网桥。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 系统UUIDdmidecode -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|Flagsecho 磁盘 lsblk -o NAME,SIZE,ROTA,MODEL,SERIAL | grep -v loopecho 内存 dmidecode -t memory | grep -E Size|Locator|Type|Speed | grep -v No Module Installedecho 网卡 ip -br linkecho 系统 cat /etc/os-release | grep PRETTY_NAMEuname -rcat /etc/machine-id