linux如何查看ip地址 Linux如何查看cpu和内存
lspci不显示实时带宽,LnkSta和/sys/bus/pci/devices/*/current_link_speed才反映实际宽度与宽度;需成对查看LnkCap(能力)与LnkSta(协商结果),或直接读取sysfs中current_link_speed/current_link_width。
lspci不显示实时带宽,只告诉你PCIe 通道“能支持什么”和“协商成什么”,不是当前货物。真看实际运行状态,得盯紧LnkSta和sysfs里的current_link_speed。怎么看lspci -vv里真正的速率和宽度
关键就两行,必须成对看:LnkCap 是设备硬件能力,LnkSta才是现在真实协商结果。LnkCap: Speed 16.0GT/s, Width x16 → 支持 PCIe 4.0 x16,但不代表现在就跑这个速度 LnkSta: Speed 8.0GT/s, Width x4 → 实际只跑到了 PCIe 3.0 x4,很大可能是插槽、BIOS 或 CPU 通道限制导致的降速,如果 LnkSta 行退出、或显示 Speed: Unknown、Width: x0,说明内核没读到状态 —— 常见于未启用设备 AER、BIOS 取消了库存报告,或设备根本没训起来别信 lspci -vv | grep Speed,它把 LnkCap、DevCap、LnkSta 完全混合在一起,必须定位到具体设备后用 sudo lspci -s 00:01.0 -vv 准确查看为什么 /sys/bus/pci/devices/xxx/current_link_speed 更可信
这个值是内核从硬件硬件实时读取出来的数字,不依赖 BIOS 是否暴露完整状态,也不受 pciutils 版本限制。路径存在就代表设备已枚举成功:ls /sys/bus/pci/devices/0000:09:00.0/读取当前速率:cat /sys/bus/pci/devices/0000:09:00.0/current_link_speed(输出如8.0)读取当前宽度:cat /sys/bus/pci/devices/0000:09:00.0/current_link_width(输出如 4)对比最大能力:cat /sys/bus/pci/devices/0000:09:00.0/max_link_speed,若当前明显语音,可断定是物理层基本或固定限制某些 OCP 报警或 BMC 直连设备,lspci -vv 根本不显示 LnkSta 行,此时只能靠 sysfs 批量查出所有实际 PCIe 的可靠设备命令
手动翻 lspci -vv 效率低还简单,脚本解析要兼顾 lspci 有 LnkSta 的设备 + sysfs 有 current_link_* 的设备。
CentOS Linux 7.9.2009
CentOS Linux 7.9.2009是传统CentOS Linux 7的最后主要版本,也是很多企业服务器历史上仍然可能遇到的系统版本。它以稳定、兼容RHEL 7生态、文档丰富和软件支持广泛着称,曾长期用于Web服务、数据库、虚拟化节点和企业内部业务系统。不过CentOS Linux 7已于2024年6月30日停止维护,现在继续使用会面临安全修复风险。该版本更适合旧业务迁移、历史环境恢复或离线兼容性测试。下载先用 lspci 提取有 LnkSta 的设备(需 sudo):sudo lspci -vv | 7已于2024年6月30日停止维护,现在继续使用会面临安全修复风险。 awk '/^([0-9a-f]{2}:[0-9a-f]{2}\.[0-9])/ { dev=$1 } /LnkSta:/ && /速度: [0-9.]+GT\/s.*宽度: x[0-9]+/ { gsub(/,/,"",$0); print dev, $2, $4 }'再补上sysfs数据(更全,耗sudo):for d in /sys/bus/pci/devices/*; do [ -e "$d/current_link_speed" ] && echo "$d $(cat $d/current_link_speed) $(cat $d/current_link_width)"; done | sed 的|/sys/bus/pci/devices/||; s|/||'注意:current_link_speed 输出是纯数字(如 8.0),而 lspci 的 LnkSta 是带单位的(如 8.0GT/s),写自动化脚本时解析更省事某些老主板或虚拟化环境里要里,current_link_speed 可能为 0 或空,此时结合 dmesg | grep -i "pcie\|aer" 查初始化错误很容易被忽略的权限、BIOS 和编码细节
很多问题不是命令不会用,而是没有意识到软硬件好得多。
lspci -vvv 多数字段普通用户必备,但 lspci -xxx 读取整个配置空间可能触发 AER 错误甚至系统挂起,尤其在旧设备上 BIOS 中开启 ASPM(活动状态电源管理)可能导致空闲时 LnkSta 短暂显示低速,要持续观察或临时禁用:echo 'performance' > /sys/bus/pci/devices/0000:01:00.0/power/controlCSM(兼容性支持) Module)开放时,PCIe 3.设备可能会强制回落到2.5 GT/s;Resizing BAR关闭也可能影响协商GT/s不是GB/s:PCIe 3.0的8.0 GT/s换算成单向带宽约0.985 GB/s每通道,得乘宽度再×0.985(128b/130b编码宽度),不是除8简单物理尾部长度≠简单 电气宽度:服务器常见“x16插槽只提供x8电气连接”,仅靠肉眼或lspci -t看不到,必须靠LnkSta或sysfs验证
