最权威方式是cat /proc/cpuinfo | grep -m1 "flags"查看flags字段,如avx2、aes、sha_ni、sm3等标识;辅以lscpu核对architecture、cpu family和model name;必要时用sudo cpuid -l1深度探测寄存器位。

你需要在统信UOS终端中精准确认CPU当前启用的指令集扩展,例如AVX2、AES-NI、SM3或SHA-NI等,用于判断编译器优化选项、密码库兼容性或AI推理框架是否可启用硬件加速。
用cat /proc/cpuinfo查看已启用的指令集
这是最底层、最权威的方式,直接读取CPU寄存器快照中的flags字段,结果不可绕过内核抽象层,能真实反映当前运行时启用的全部扩展。
按Ctrl+Alt+T打开终端→输入cat /proc/cpuinfo | grep -m1 "flags"并回车。
观察输出中flags后列出的所有标识,如avx2 aes sse4_2 sha_ni sm3 lm:其中avx2表示AVX2指令集已启用,aes代表AES硬件加密单元可用,sha_ni为ARMv8.2+或Intel/AMD的SHA扩展,sm3是国产密码算法硬件支持,lm即long mode,表明64位模式激活。
【注意:若flags中无avx2但CPU型号理论上支持,说明BIOS中禁用了该功能,或内核启动参数加了noavx2】
用lscpu辅助验证指令集归属架构
lscpu不直接列出flags,但能帮你交叉判断指令集是否可能启用——比如Architecture为aarch64且CPU family为0x1f(鲲鹏920),则必然支持sha_ni与sm3;若为x86_64且Model name含“Hygon C86 3250”,则大概率支持AVX-512。
在终端中执行lscpu。
重点核对三处:【Architecture】(决定指令集大类)、【CPU family】(微架构代际线索)、【Model name】(厂商公开型号,可查官方文档确认支持的扩展)。
用cpuid工具深度探测(需手动安装)
当/proc/cpuinfo的flags字段被安全策略截断,或需验证某条指令是否真能执行时,cpuid是唯一可信赖的用户态探测工具。
第一步:执行sudo apt update && sudo apt install cpuid。
第二步:运行sudo cpuid -l1 | grep -E "(SSE|AVX|AES|SHA|SM3)"。
第三步:比对输出中各flag对应的bit位是否置1——例如“AES”行末显示"EDX: bit 25 set",说明AES-NI硬件单元已启用且未被禁用。
这一步操作起来很简单,直接把命令粘贴进去回车就行。但要注意:cpuid必须用sudo运行,否则无法读取某些MSR寄存器,返回结果将缺失关键位信息。











