Linux CPUInfo 兼容性判断指南
一、判断目标与总体思路
二、快速检查清单与命令
uname -m(如 x86_64、aarch64、armv7l)lscpugrep -c ' lm ' /proc/cpuinfo(flags 中出现 lm=long mode 即支持 64 位)getconf LONG_BIT 仅表示当前运行的内核/用户态字长,不代表 CPU 是否支持 64 位grep '^flags' /proc/cpuinfogrep -E 'sse4_2|avx|aes' /proc/cpuinfo/sys/module/kvm/parameters/ignore_msrs、以及 dmesg | grep -i kvm 等日志grep -c '^physical id' /proc/cpuinfogrep -c '^processor' /proc/cpuinfolscpu 的 Core(s) per socket 或 grep 'cpu cores' /proc/cpuinfo | uniq三、面向软件与镜像的兼容性判定
lsb_release -a 或 cat /etc/os-releaseuname -rchmod +x awk_check.sh && ./awk_check.sh)awk_check.sh 仅返回 v1,需更换满足基线的 CPU 或选择不依赖该基线的镜像/版本四、常见兼容性判定速查表
| 检查项 | 判定依据 | 关键命令示例 | 通过条件示例 |
|---|---|---|---|
| 64 位 CPU | flags 含 lm | grep -c ' lm ' /proc/cpuinfo |
返回值 > 0 |
| 运行架构 | uname -m |
uname -m |
x86_64 / aarch64(与目标一致) |
| x86-64 基线 | 脚本判定 | ./awk_check.sh |
返回 v2/v3/v4 |
| SSE4.2 | flags 含 sse4_2 | grep sse4_2 /proc/cpuinfo |
存在该标志 |
| AVX | flags 含 avx | grep avx /proc/cpuinfo |
存在该标志 |
| AES‑NI | flags 含 aes | grep aes /proc/cpuinfo |
存在该标志 |
| VT‑x/AMD‑V | flags 含 vmx/svm | `grep -E 'vmx | svm’ /proc/cpuinfo` |
| 超线程 | siblings > cpu cores | lscpu 或 grep 'siblings|cpu cores' /proc/cpuinfo |
同一物理封装下 siblings > cores |