news 2026/9/30 6:14:03

Linux硬件诊断四层模型:从CPU温度到PCIe链路的精准排查

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Linux硬件诊断四层模型:从CPU温度到PCIe链路的精准排查

1. 为什么“看硬件”这件事,90%的Linux用户都做错了

我刚接手一个客户服务器故障排查时,运维同事递来一张纸条:“CPU温度82℃,风扇狂转,但top里负载才0.3——查不出问题。”他用了lscpu、free -h、df -h三板斧,数据全对,可就是没找到热源。最后用sudo sensors发现主板南桥芯片温度飙到105℃,而lscpu压根不采集这个传感器数据;用sudo dmidecode -t thermal才定位到散热模组物理松动。这件事让我意识到:Linux下“查看硬件信息”不是命令堆砌,而是分层诊断——你得先知道要查什么,再选对工具,最后交叉验证。

这9个命令不是随便凑数的清单,它们对应着Linux硬件信息获取的四个层级:

  • 内核直报层(如lscpu):CPU架构、缓存、拓扑等由内核启动时直接解析BIOS/UEFI固件生成,精度高但覆盖窄;
  • 设备驱动层(如lspci):通过PCI总线枚举设备,依赖驱动加载状态,能查到显卡、网卡型号,但USB设备可能漏报;
  • 固件接口层(如dmidecode):直接读取SMBIOS表,包含序列号、厂商、内存插槽位置等物理信息,但需root权限且部分笔记本会屏蔽关键字段;
  • 传感器代理层(如sensors):调用hwmon子系统,实时读取温度/电压/风扇转速,但需提前加载对应驱动(如coretemp、it87)。

很多人卡在第一步:看到lshw输出几百行就复制粘贴交差,却不知道lshw -class memory能精准过滤内存条型号和频率,而lshw -short只显示设备树骨架——前者适合故障定位,后者适合快速概览。更常见的是误用cat /proc/cpuinfo:它显示的是逻辑CPU核心数(含超线程),但lscpu的CPU(s)字段才是物理核心总数,Thread(s) per core才是超线程开关状态。这些细节差异,直接决定你能否在服务器扩容时避开双路CPU插槽不匹配的坑。

本文不罗列命令语法,而是按真实排障场景组织:从“新装机器验货”到“性能瓶颈溯源”,再到“硬件兼容性验证”,每个命令都配实测案例、参数陷阱和交叉验证方法。所有操作均基于Ubuntu 22.04 LTS和CentOS 7.9双环境验证,避免“仅在某发行版有效”的伪干货。

2. 新装服务器验货:用这3个命令5分钟完成硬件资产登记

新采购的服务器上架前,必须完成硬件资产登记——这不是走流程,而是为后续故障定责留证据。曾有个案例:客户投诉RAID卡故障,我们到场后用lspci | grep -i raid发现卡型号是LSI 9361-8i,但厂商交付单写的是9361-4i。核对sudo dmidecode -t system | grep "Serial Number"的序列号,确认是翻新卡。这类纠纷,靠的就是验货时的原始数据快照。

2.1lshw -short:设备树骨架扫描(30秒出结果)

lshw是硬件信息的瑞士军刀,但直接运行lshw会输出2000+行,新手容易迷失。正确姿势是先用-short参数抓骨架:

sudo lshw -short

输出示例:

H/W path Device Class Description ====================================================== system Computer PowerEdge R740 /0 bus Motherboard /0/0 memory 64GiB System Memory /0/0/0 memory 32GiB DIMM DDR4 Synchronous Registered (RDIMM) /0/1 processor Intel(R) Xeon(R) Gold 6248R CPU @ 3.00GHz /0/100 bridge PCI bridge /0/100/1 display GM107GL [Quadro K620] /0/100/1.1 multimedia GF108 High Definition Audio Controller /0/100/2 storage P2000 G3 SAS/SATA /0/100/2.1 storage P2000 G3 SAS/SATA /0/100/3 network I350 Gigabit Network Connection

提示:-short模式的关键价值在于暴露设备层级关系。比如/0/100/2.1表示这是PCI桥(/0/100)下的第二个存储设备,说明该服务器有双RAID卡或RAID+NVMe组合。若只用lspci,你会看到两行独立设备,却无法判断它们是否共用同一PCIe通道带宽。

实操注意:

  • 必须加sudo,否则内存容量显示为[empty];
  • 若输出中Class列为bridge但无子设备,说明对应插槽未安装设备(如空PCIe槽);
  • Description字段含厂商型号,但部分OEM服务器会显示"System Product Name",此时需配合dmidecode补全。

2.2sudo dmidecode -t system:物理资产唯一标识(2分钟锁定序列号)

dmidecode读取SMBIOS表,这是主板固件写入的“硬件身份证”。重点提取三项:

sudo dmidecode -t system | grep -E "Manufacturer|Product Name|Serial Number"

输出:

Manufacturer: Dell Inc. Product Name: PowerEdge R740 Serial Number: ABCD1234567

为什么不用cat /sys/class/dmi/id/product_name?因为后者只返回PowerEdge R740,缺失厂商和序列号。而dmidecode的-t system参数确保只读取系统级信息,避免-t memory等参数拖慢速度。

注意:部分国产服务器(如浪潮NF5280M5)会将序列号加密为Not Specified,此时需用sudo dmidecode -t baseboard | grep "Serial Number"读取主板序列号,再与机箱标签比对。这是验货时最容易被忽略的坑——机箱序列号和主板序列号不一致,大概率是二手翻新机。

更关键的是-t chassis参数:

sudo dmidecode -t chassis | grep -E "Type|Serial Number|Asset Tag"

输出:

Type: Rack Mount Chassis Serial Number: XYZ9876543 Asset Tag: RACK-01-A

Asset Tag是企业资产管理系统录入的编号,必须与采购单一致。曾有个客户因Asset Tag为空,导致财务系统无法关联采购合同,被迫重做整套入库流程。

2.3sudo lshw -class disk -short:存储设备物理拓扑(1分钟确认盘位)

验货最易出错的是硬盘配置。lsblk只显示逻辑设备(如/dev/sda),但无法告诉你这块盘插在哪个物理槽位。正确方法是:

sudo lshw -class disk -short

输出:

H/W path Device Class Description ====================================================== /0/100/2/0 /dev/sda disk ST4000NM0035-1V4107 /0/100/2/1 /dev/sdb disk ST4000NM0035-1V4107 /0/100/2.1/0 /dev/nvme0n1 disk INTEL SSDPE2KX040T8

关键解读:

  • /0/100/2/0中的/2对应RAID卡(见2.1节),/0表示第一个物理盘位;
  • /0/100/2.1/0中的.1表示第二块RAID卡,/0是其第一个NVMe插槽;
  • 若输出中出现/0/100/2/0.1,则说明该盘位插了双盘(如U.2接口支持双盘叠放)。

实测案例:某次验货发现lshw显示4块硬盘,但机箱只有2个盘位。深入查sudo lshw -class disk | grep -A5 "logical name",发现/dev/sda和/dev/sdb共享同一physical id,实为RAID1镜像——客户采购单写的是“4TB RAID1”,而非“2×4TB独立盘”。这种细节,fdisk -l完全无法体现。

3. 性能瓶颈溯源:当top显示CPU满载,真相可能在PCIe链路

客户抱怨数据库响应慢,top显示CPU使用率98%,iostat -x 1显示磁盘await<1ms。直觉是CPU瓶颈,但lscpu显示CPU频率仅2.1GHz(标称3.0GHz),cpupower frequency-info确认睿频被禁用。进一步用lspci -vv -s 0000:01:00.0(指定显卡设备)发现LnkSta字段显示Speed 2.5GT/s,而标称应为8.0GT/s——PCIe链路降速至Gen1,导致GPU加速失效。这才是真正的瓶颈。

3.1lscpu:CPU能力解码器(不止看核心数)

lscpu输出需重点解读6个字段:

字段示例值关键解读
CPU(s)48物理核心总数(非逻辑处理器数)
Thread(s) per core2超线程开关状态,1=关闭,2=开启
CPU MHz1200.000当前运行频率,非基础频率
CPU max MHz4000.000睿频上限,低于标称值说明散热受限
L1d cache32K每核心一级数据缓存,影响小数据集性能
NUMA node(s)2NUMA节点数,多路CPU必须绑定进程到本地节点

实操技巧:用lscpu | grep -E "CPU\(s\)|Thread|MHz|cache|NUMA"一键提取关键字段。若CPU MHz长期低于CPU max MHz的70%,需检查/sys/devices/system/cpu/cpu*/cpufreq/scaling_cur_freq确认是否被ondemand调频策略压制——此时cpupower frequency-set -g performance可强制满频。

更隐蔽的陷阱在Architecture字段:若显示x86_64但Flags含hypervisor,说明运行在虚拟机中,lscpu的CPU(s)是vCPU数,非物理核心。此时需用virsh dominfo <vm-name>查宿主机分配。

3.2lspci -vv:PCIe设备深度体检(查链路降速的唯一方法)

lspci默认只显示设备名,-vv(双v)才输出寄存器级详情。定位性能问题的关键字段:

  • LnkCap(Link Capability):设备支持的最高PCIe版本和速度;
  • LnkSta(Link Status):当前实际协商的版本和速度;
  • Kernel driver in use:驱动加载状态,vfio-pci表示直通,igb表示Intel千兆网卡驱动。

实测案例:某AI训练服务器GPU利用率仅30%,nvidia-smi显示显存带宽占用率<50%。执行:

lspci -vv -s 0000:04:00.0 | grep -E "LnkCap|LnkSta|Width"

输出:

LnkCap: Port #0, Speed 8.0GT/s, Width x16, ASPM L0s L1, Exit Latency L0s <64ns, L1 <1us LnkSta: Speed 2.5GT/s, Width x8, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABPM-

LnkSta显示Speed 2.5GT/s(Gen1)且Width x8(非x16),而LnkCap支持8.0GT/s(Gen3)和x16。原因:主板BIOS中PCIe插槽设置为Gen1兼容模式。修改BIOS后LnkSta变为Speed 8.0GT/s, Width x16,训练速度提升2.3倍。

注意:lspci -vv需root权限,且输出含敏感信息(如MAC地址),生产环境建议用lspci -vv -s <device> | grep -E "Lnk|Width|driver"精简。

3.3sudo sensors:温度墙与功耗墙的实时监控

CPU/GPU降频常因温度触发。sensors读取hwmon子系统,但需先加载驱动:

# 加载常见传感器驱动 sudo modprobe coretemp it87 k10temp sudo sensors-detect # 交互式检测,按回车跳过,最后选YES sudo sensors

输出示例:

coretemp-isa-0000 Adapter: ISA adapter Package id 0: +72.0°C (high = +86.0°C, crit = +100.0°C) Core 0: +70.0°C (high = +86.0°C, crit = +100.0°C) Core 1: +68.0°C (high = +86.0°C, crit = +100.0°C) it8728-isa-0290 Adapter: ISA adapter in0: +1.20 V (min = +0.00 V, max = +3.32 V) fan1: 2400 RPM (min = 1200 RPM) temp1: +35.0°C (high = +60.0°C, crit = +80.0°C) # 主板南桥

关键洞察:

  • Package id 0是CPU封装温度,Core 0是单核温度,若前者远高于后者,说明散热硅脂老化;
  • fan1转速低于min值,表明风扇故障或PWM控制异常;
  • temp1(南桥温度)超过crit值,会导致PCIe链路降速——这正是3.2节案例的根因。

避坑经验:sensors默认不刷新,加-f参数可每秒刷新:watch -n1 'sensors | grep -E "Package|temp1|fan1"'。若输出Adapter: Unknown,说明驱动未加载,需查dmesg | grep hwmon确认内核日志。

4. 硬件兼容性验证:当驱动加载失败,先查这2个命令

部署新硬件(如NVMe SSD、InfiniBand网卡)时,modprobe <driver>失败是常态。与其盲目Google错误码,不如用lspci和dmesg交叉验证:前者看设备是否存在,后者看内核是否识别。

4.1lspci -nnk:设备ID与驱动绑定关系图谱

-nn显示厂商/设备ID(十六进制),-k显示内核驱动信息。典型输出:

lspci -nnk -s 0000:05:00.0

输出:

05:00.0 Ethernet controller [0200]: Mellanox Technologies MT27710 Family [ConnectX-4 Lx] [15b3:1015] Subsystem: Mellanox Technologies Device [15b3:0015] Kernel driver in use: mlx5_core Kernel modules: mlx5_core

字段解读:

  • [15b3:1015]是PCI ID,15b3为Mellanox厂商码,1015为ConnectX-4 Lx设备码;
  • Kernel driver in use表示当前加载的驱动;
  • Kernel modules列出所有可加载的驱动模块。

当驱动加载失败时:

  • 若Kernel driver in use为空,但Kernel modules含mlx5_core,说明模块未加载,执行sudo modprobe mlx5_core;
  • 若Kernel modules为空,说明内核不支持该设备,需升级内核或安装厂商驱动(如MLNX_OFED);
  • 若Subsystem的设备ID(15b3:0015)与官网文档不符,可能是固件版本过旧,需mlnxupdate升级。

实操技巧:用lspci -nn | grep "15b3"批量查Mellanox设备,避免逐个-s指定。若输出含[Unsupported device],说明PCI ID未被内核白名单收录,需手动添加:echo "15b3 1015" | sudo tee /etc/modprobe.d/mlx.conf。

4.2dmesg | grep -i "error\|fail\|unknown":内核硬件握手日志

dmesg是硬件初始化过程的“黑匣子”。重点过滤三类关键词:

  • error:硬件通信错误(如I2C总线超时);
  • fail:驱动加载失败(如failed to load firmware);
  • unknown:设备ID未识别(如unknown device 15b3:1015)。

实测案例:某台服务器插入新NVMe盘后lsblk不显示。执行:

dmesg | grep -i "nvme\|error\|fail"

输出:

[ 1.234567] nvme 0000:06:00.0: enabling device (0000 -> 0002) [ 1.234589] nvme 0000:06:00.0: failed to set feature: 0x0c [ 1.234601] nvme 0000:06:00.0: pci function 0000:06:00.0 not found

failed to set feature: 0x0c是NVMe标准功能码(Temperature Threshold),说明固件不支持温度告警。但关键线索在pci function ... not found——内核认为该设备不存在。查lspci | grep -i nvme发现设备显示为Unknown device,最终确认是PCIe插槽供电不足,更换插槽后解决。

注意:dmesg日志会随时间滚动,新硬件插入后立即执行。若日志已刷屏,用dmesg -T | tail -50查看带时间戳的最近50行,避免遗漏关键错误。

5. 内存与存储深度诊断:dmidecode与smartctl的黄金组合

内存故障占服务器宕机原因的37%(IBM 2023报告),但free -h只能看容量,memtester需重启测试。真正高效的诊断,是用dmidecode查物理内存规格,再用smartctl查SSD健康度,形成硬件级证据链。

5.1sudo dmidecode -t memory:内存条物理属性全息扫描

-t memory输出含12个关键字段,但只需关注5项:

字段示例值诊断价值
Size32 GB单条容量,与free -h对比验证是否识别完整
TypeDDR4内存类型,混插DDR3/DDR4会导致无法启动
Speed2666 MT/s实际运行频率,低于标称值说明主板限制
LocatorDIMM_A1物理插槽位置,指导更换顺序
Part NumberM393A4K4DBB1-CRC厂商颗粒型号,用于查兼容性列表

实测案例:某集群节点频繁OOM,free -h显示可用内存仅2GB(总64GB)。执行sudo dmidecode -t memory发现:

Size: 32 GB Bank Locator: BANK 1 Locator: DIMM_A1 Type: DDR4 Speed: 2133 MT/s Part Number: HMA8512BUFJRAZ

Part Number查厂商文档,确认该颗粒仅支持2133MT/s,但主板QVL列表要求2666MT/s。更换兼容内存后,OOM消失。

提示:dmidecode -t memory可能显示No Module Installed,此时需查sudo dmidecode -t physical memory(物理内存槽位),确认是否插槽空置。

5.2sudo smartctl -a /dev/nvme0n1:NVMe SSD健康度终极报告

smartctl是SMART协议的瑞士军刀,但NVMe设备需用-a参数(而非SATA的-a)。关键字段:

  • Percentage Used:NAND闪存磨损百分比,>80%需预警;
  • Data Units Read/Written:读写总量,换算为TBW(Terabytes Written);
  • Critical Warning:致命告警,0x00为正常;
  • Temperature:当前温度,持续>70℃加速老化。

执行:

sudo smartctl -a /dev/nvme0n1 | grep -E "Percentage Used|Data Units|Critical Warning|Temperature"

输出:

Percentage Used: 25% Data Units Read: 12,345,678 [6.30 TB] Data Units Written: 23,456,789 [12.00 TB] Critical Warning: 0x00 Temperature: 42 Celsius

计算TBW:NVMe SSD标称TBW为300TB,已写入12TB,剩余寿命约96%。若Critical Warning为0x01,表示备用空间耗尽,需立即更换。

注意:smartctl需安装smartmontools包,且NVMe设备路径为/dev/nvme0n1(非/dev/sda)。若提示Read NVMe SMART Data failed: Operation not supported,说明固件版本过旧,需nvme-cli升级。

6. 网络与声卡硬件验证:lspci与aplay -l的协同作战

声卡在服务器场景虽少用,但其驱动状态是PCIe设备通用性的试金石。网络卡同理——ip link show只显示逻辑状态,lspci才能确认物理层是否就绪。

6.1lspci | grep -i "audio\|network":设备存在性快速筛查

此命令不加sudo即可运行,用于初筛:

lspci | grep -i "audio\|network"

输出:

00:1f.3 Audio device: Intel Corporation Cannon Lake PCH cAVS 01:00.0 Ethernet controller: Intel Corporation I350 Gigabit Network Connection 02:00.0 Ethernet controller: Mellanox Technologies MT27710 Family [ConnectX-4 Lx]

若无输出,说明设备未被PCIe总线识别——此时不必查驱动,先检查硬件连接(如网卡金手指氧化、声卡未插稳)。

实操技巧:grep -i忽略大小写,audio匹配Audio、audio、AUDIO;network匹配Ethernet、Network、network。若输出含Unknown device,说明PCI ID未被内核识别,需查lspci -nn获取ID并搜索。

6.2aplay -l与arecord -l:声卡驱动加载验证

aplay -l(play list)列出所有声卡,arecord -l(record list)同理。正常输出:

aplay -l

输出:

**** List of PLAYBACK Hardware Devices **** card 0: PCH [HDA Intel PCH], device 0: ALC892 Analog [ALC892 Analog] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0] Subdevices: 1/1 Subdevice #0: subdevice #0

关键解读:

  • card 0是声卡编号,device 0是模拟输出设备,device 3是HDMI音频;
  • 若Subdevices: 0/1,说明驱动加载失败(子设备数为0);
  • 若输出no soundcards found,需查dmesg | grep snd确认snd_hda_intel驱动是否加载。

网络卡同理:lspci确认设备存在后,ethtool enp1s0f0(替换为实际网卡名)查链路状态。若Speed: Unknown!,说明PHY芯片未初始化,需重置网卡:sudo ip link set enp1s0f0 down && sudo ip link set enp1s0f0 up。

7. 终极组合技:用lshw生成标准化硬件报告

单个命令解决不了复杂问题,但组合使用能生成可审计的硬件报告。以下脚本将9个命令输出整合为HTML报告,适合作为交付物:

#!/bin/bash # hardware_report.sh DATE=$(date +%Y%m%d_%H%M%S) REPORT="hardware_report_${DATE}.html" echo "<html><head><title>Hardware Report $DATE</title></head><body>" > $REPORT echo "<h1>Hardware Report for $(hostname)</h1><hr>" >> $REPORT # 系统信息 echo "<h2>1. System Summary</h2><pre>" >> $REPORT sudo dmidecode -t system | grep -E "Manufacturer|Product Name|Serial Number" >> $REPORT echo "</pre>" >> $REPORT # CPU信息 echo "<h2>2. CPU Details</h2><pre>" >> $REPORT lscpu | grep -E "CPU\(s\)|Thread|MHz|cache|NUMA" >> $REPORT echo "</pre>" >> $REPORT # 内存信息 echo "<h2>3. Memory Configuration</h2><pre>" >> $REPORT sudo dmidecode -t memory | grep -E "Size|Type|Speed|Locator|Part Number" >> $REPORT echo "</pre>" >> $REPORT # 存储信息 echo "<h2>4. Storage Devices</h2><pre>" >> $REPORT sudo lshw -class disk -short >> $REPORT echo "</pre>" >> $REPORT # 网络信息 echo "<h2>5. Network Adapters</h2><pre>" >> $REPORT lspci | grep -i network >> $REPORT echo "</pre>" >> $REPORT echo "</body></html>" >> $REPORT echo "Report generated: $REPORT"

运行后生成hardware_report_20231015_143022.html,打开即可查看结构化报告。此脚本优势:

  • 所有命令加sudo确保权限,但仅对必要命令(dmidecode、lshw)提权;
  • grep -E精准提取字段,避免冗余信息;
  • HTML格式支持浏览器搜索,方便快速定位Serial Number等关键字段。

经验之谈:交付客户前,用sed -i 's/Serial Number:.*/Serial Number: REDACTED/g' $REPORT脱敏序列号,既满足审计要求,又保护资产信息。

8. 常见误区与避坑指南:那些年我们踩过的硬件命令坑

这些坑,我至少在3个不同客户的项目中重复遇到过,每次修复都耗费2小时以上。现在把血泪经验浓缩成可执行清单:

8.1free -h显示内存不足?先查dmidecode再报警

free -h显示available内存仅1GB,运维第一反应是杀进程。但真实原因可能是:

  • sudo dmidecode -t memory显示Size: No Module Installed,说明内存条未插稳;
  • 或Size: 32 GB但Locator: DIMM_A1,而主板手册要求双通道必须插DIMM_A1和DIMM_B1,单插导致内存控制器降频。

正确流程:free -h→sudo dmidecode -t memory→sudo lshw -class memory三级验证。若dmidecode显示容量但lshw显示[empty],说明内核未识别,需查dmesg | grep memory。

8.2lspci找不到设备?BIOS设置比驱动更重要

某次部署GPU服务器,lspci | grep -i nvidia无输出。重装驱动无效,最终发现BIOS中Above 4G Decoding选项为Disabled。该选项控制PCIe设备能否访问4GB以上内存空间,关闭后GPU显存映射失败,内核直接忽略设备。

BIOS检查清单:

  • Above 4G Decoding: Enabled
  • PCIe Speed: Gen3(非Auto)
  • CSM Support: Disabled(启用UEFI模式)
  • VT-d: Enabled(支持IOMMU直通)

8.3sensors无输出?不是没硬件,是驱动没加载

sudo sensors返回空,新手常以为没传感器。实则需:

  1. ls /sys/class/hwmon/确认hwmon目录存在;
  2. dmesg | grep -i "hwmon\|coretemp"查驱动加载日志;
  3. 若无coretemp,执行sudo modprobe coretemp;
  4. 若仍无,查cat /proc/cpuinfo | grep "model name"确认CPU型号,Intel第6代后需coretemp,AMD需k10temp。

8.4smartctl报错Operation not supported?固件版本是元凶

NVMe SSD执行sudo smartctl -a /dev/nvme0n1报错,90%概率是固件过旧。解决方案:

  • 下载厂商固件升级工具(如Intel Memory and Storage Tool);
  • 在Windows PE环境下升级,Linux下升级工具支持有限;
  • 升级后sudo nvme id-ctrl /dev/nvme0n1 | grep ver确认版本号。

9. 我的硬件诊断工作流:从开机到交付的7步法

经过200+台服务器硬件排查,我固化了一套无需思考的工作流。它不追求命令炫技,只确保每一步都有明确目标和验证点:

9.1 Step 1:lshw -short(30秒)

目标:建立设备树骨架,确认主板、CPU、内存、存储、网络设备是否存在。
验证点:/0/1是CPU,/0/0是内存,/0/100/2是存储控制器——层级关系正确即通过。

9.2 Step 2:sudo dmidecode -t system(20秒)

目标:获取厂商、型号、序列号,与采购单100%比对。
验证点:Manufacturer、Product Name、Serial Number三字段全部匹配。

9.3 Step 3:lscpu | grep -E "CPU\(s\)|Thread|MHz"(10秒)

目标:确认物理核心数、超线程状态、当前频率。
验证点:CPU(s)与采购单标称一致,Thread(s) per core为2(超线程开启)。

9.4 Step 4:sudo dmidecode -t memory(40秒)

目标:验证内存条数量、容量、频率、插槽位置。
验证点:Size总和等于free -h的Mem:值,Locator符合双通道规范。

9.5 Step 5:lspci | grep -i "network\|audio"(10秒)

目标:确认网卡、声卡等外设被PCIe总线识别。
验证点:输出含Ethernet controller或Audio device,无Unknown device。

9.6 Step 6:sudo sensors(15秒)

目标:检查温度、风扇、电压是否在安全范围。
验证点:Package id 0温度<75℃,fan1转速>min值,Critical Warning为0x00。

9.7 Step 7:sudo smartctl -a /dev/nvme0n1(20秒)

目标:评估NVMe SSD健康度,计算剩余寿命。
验证点:Percentage Used<

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/30 6:13:48

仿抖音短视频 H5 社区金币解锁付费作品加热源码

仿抖音短视频 H5 社区是一套可直接在浏览器打开的短视频程序&#xff0c;无需下载 App&#xff0c;手机、电脑都能用。核心代码为某论坛插件&#xff0c;需依托 HadSky 论坛环境运行&#xff08;具体自行百度&#xff09;。浏览体验&#xff1a;上下滑动切换、沉浸式全屏播放&a…

作者头像 李华
网站建设 2026/9/30 6:13:23

DeepSeek-R1微调实战:企业知识库落地的完整闭环

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/30 6:12:17

Exif与图像取证:从元数据到设备溯源全解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/30 6:11:36

KEIL-MDK代码格式化指南:用AStyle一键统一代码风格

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/30 6:11:16

PTmalloc、TCmalloc、Jemalloc三大内存分配器对比与选型指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/30 6:11:16

Linux 静态库与动态库:链接、加载、符号与排查实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华