天下谁人不识君/Linux下的硬件检测
来自pcdiy_dev
一直以来,Linux 系的硬件玩家都不是主流,尤其是在桌面端,但是,依然有一部分玩家因为各种原因(工作习惯、兴趣等)需要在Linux下进行硬件检测。本文将列出部分相对实用的 Linux 硬件检测的软件与方法。
- 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. 内存