操作

天下谁人不识君/Linux下的硬件检测

来自pcdiy_dev

一直以来,Linux 系的硬件玩家都不是主流,尤其是在桌面端,但是,依然有一部分玩家因为各种原因(工作习惯、兴趣等)需要在Linux下进行硬件检测。本文将列出部分相对实用的 Linux 硬件检测的软件与方法。

  1. CPU

Linux下的CPU信息被放在/proc/cpuinfo

可以显示的信息有:

processor:线程数(若开启超线程,则显示逻辑进程)

vendor_id:X86 系的 CPU 制造商

  • GenuineIntel: Intel CPU
  • AuthenticAMD:AMD CPU

cpu family:CPU代数,如 Ivy Lake 为 6

model:代中代号,如 E5-2640 为 45

model name:完整名称

stepping:步进

microcode:微码版本

cpu MHz:该核心当前频率

cache size:CPU 二级缓存大小

physical id:单个cpu标号

siblings:CPU逻辑核心(超线程后的为物理核心的两倍)

core id:当前物理核在其所处CPU中的编号,这个编号不一定连续

cpu cores:该线程的物理核

apicid :同coreid,但是是逻辑核的

initial apicid:表示可分配给逻辑系统的最大可寻址ID数(initial apicid)。该值可能与逻辑处理器的数量不同。

fpu:是否具有浮点计算单元

fpu_exception:是否支持浮点计算异常

cpuid level:执行cpuid指令前,eax寄存器中的值,根据不同的值cpuid指令会返回不同的内容

wp:明当前CPU是否在内核态支持对用户空间的写保护(Write Protection)

flags:CPU支持的指令集

vmx flags:虚拟化拓展支持

bugs:已检测的硬件错误

bogomips:每秒可执行的伪指令(启动时确定,可以粗略的估算 CPU 性能)

clflush size:每次刷新缓存的大小单位

cache_alignment:缓存地址对齐单位

address sizes:可访问地址空间位数

power management:对能源管理的支持

可以结合 grep、sort、uniq等工具实现对特定参数的查询,如:

cat /proc/cpuinfo | grep "flags" | sort | uniq # 获取 /proc/cpuinfo的内容,通过通道传输到 grep 后摘取 flags 内容(由于 vmx flags 也包含 flags,所以也会被检索出来),经过通道传输到 sort 并排序,最后经过通道传输到 uniq 并去重

2. 内存