/proc/cpuinfo 中的各个字段,都代表什么意思

本文涉及的产品
轻量应用服务器 2vCPU 4GiB,适用于搭建Web应用/小程序
轻量应用服务器 2vCPU 4GiB,适用于网站搭建
轻量应用服务器 2vCPU 4GiB,适用于搭建容器环境
简介: `/proc/cpuinfo` 在 Linux 中显示 CPU 指令集信息,包括浮点运算、V86模式、调试、大页支持、时间戳计数器等。列表详细解释了各种 FLAG,如 FPU、VME、PSE、TSC 等,涉及处理器硬件功能和指令集。还包括多媒体扩展(MMX、SSE、SSE2)、超线程(HT)、虚拟化技术(VMX)、加密指令(AES)、高级向量扩展(AVX)等特性。

在Linux下执行 /proc/cpuinfo 会看到指令集的信息。得到一大长串信息,看不懂。查查资料,汇集在这里



CPUID中的FLAG字段包含了CPU支持的各种特性标识,这些标识通常反映了处理器的硬件功能和指令集支持情况。下面是对列出的各个标志的详细解释:

  1. fpu: 浮点单元(Floating Point Unit),表示CPU内置有浮点运算单元。
  2. vme: V86模式扩充(Virtual Mode Extension),允许在保护模式下运行V86模式程序。
  3. de: Debugging Extensions,支持调试功能。
  4. pse: 页面大小扩展(Page Size Extension),支持4MB大页。
  5. tsc: 时间戳计数器(Time Stamp Counter),用于高精度时间测量。
  6. msr: 模型特定寄存器(Model Specific Registers),提供对处理器状态的访问。
  7. pae: 物理地址扩展(Physical Address Extension),支持超过4GB的物理内存。
  8. mce: 机器校验错误(Machine Check Exception),提供硬件错误检测和报告机制。
  9. cx8: Compare and Exchange 8-byte指令支持,用于原子操作。
  10. apic: 高级可编程中断控制器(Advanced Programmable Interrupt Controller)支持。
  11. sep: 快速系统调用(Fast System Call),简化系统调用过程。
  12. mtrr: 内存类型范围寄存器(Memory Type Range Register),用于内存类型区域管理。
  13. pge: 页面全局使能(Page Global Enable),支持非分页模式下的大页。
  14. mca: 机器校验架构(Machine Check Architecture),提供更详细的硬件错误信息。
  15. cmov: 条件移动指令(Conditional Move),用于基于条件的跳转或赋值。
  16. pat: 页面属性表(Page Attribute Table),用于内存类型映射。
  17. pse36: 36位页面大小扩展,支持更大的物理地址空间。
  18. clflush: Cache Line Flush指令,用于强制刷新缓存行。
  19. dts: Debug Trace Store,用于调试跟踪。
  20. acpi: 支持ACPI(Advanced Configuration and Power Interface)标准。
  21. mmx: 多媒体扩展(MultiMedia eXtension),用于多媒体和图形处理。
  22. fxsr: 快速浮点保存/恢复(Fast Floating Save/Restore),用于快速保存和恢复浮点状态。
  23. sse: 流式SIMD扩展(Streaming SIMD Extensions),用于向量运算。
  24. sse2: SSE的扩展,提供了更多SIMD指令。
  25. ss: 单线程规格执行(Single Thread Speculative Execution),用于优化指令预测。
  26. ht: 超线程(Hyper-Threading),允许多个线程并行执行。
  27. tm: 热门(Thermal Monitor),提供温度监控功能。
  28. pbe: 电源节省增强(Power Boost Enable),用于节能模式。
  29. syscall: 系统调用指令支持,简化了从用户态到内核态的切换。
  30. nx: 执行禁止位(No Execute Bit),用于防止代码注入攻击。
  31. pdpe1gb: 1GB页面大小扩展。
  32. rdtscp: 读取时间戳计数器(Read Time Stamp Counter),包括停顿指令。
  33. lm: 长模式支持(Long Mode),用于64位运算。
  34. constant_tsc: 时间戳计数器在所有频率下都是恒定的。
  35. arch_perfmon: 架构性能监控。
  36. pebs: 精确事件计数器(Precise Event Based Sampling)。
  37. bts: 分支跟踪存储器(Branch Target Store)。
  38. rep_good: REP指令的正确实现。
  39. nopl: NOP指令的正确实现。
  40. xtopology: 扩展拓扑信息。
  41. nonstop_tsc: 在频率变化时不重置TSC。
  42. aperfmperf: 性能监控。
  43. eagerfpu: FPU上下文切换优化。
  44. pni: 表示支持SSE3指令集。
  45. pclmulqdq: 多精度整数乘法指令。
  46. dtes64: 64位调试跟踪存储器。
  47. monitor: 监视器和等待指令支持。
  48. ds_cpl: 数据段特权级别检查。
  49. vmx: 虚拟机扩展(Virtual Machine Extensions),用于虚拟化技术。
  50. smx: 安全模式扩展(Safe Mode Extensions)。
  51. est: 扩展系统时间戳计数器。
  52. tm2: 热门2(Thermal Monitor 2),提供更高级的温度监控。
  53. ssse3: SSE的进一步扩展,增加了更多SIMD指令。
  54. cx16: Compare and Exchange 16-byte指令支持。
  55. xtpr: 扩展热插拔请求。
  56. pdcm: 性能数据收集和管理。
  57. pcid: 进程上下文标识符,用于虚拟化。
  58. dca: 数据流分析,用于优化内存访问。
  59. sse4_1: SSE4.1指令集的扩展。
  60. sse4_2: SSE4.2指令集的扩展。
  61. x2apic: 扩展APIC实现在64位模式下。
  62. popcnt: 位计数指令,用于快速计算二进制数中1的个数。
  63. tsc_deadline_timer: TSC截止时间定时器。
  64. aes: 加密标准指令集,用于AES加密算法。
  65. xsave: 扩展状态保存,用于保存和恢复浮点和AVX状态。
  66. avx: 高级向量扩展,增加了256位向量指令。
  67. f16c: 半精度浮点转换。
  68. rdrand: 随机数生成指令。
  69. lahf_lm: 扩展了LAHF指令。
  70. arat: 预测性分支目标缓冲区。
  71. epb: 执行禁止位。
  72. pln: 性能限制通知。
  73. pts: 停滞时间监视器。
  74. dtherm: 数字热传感器。
  75. tpr_shadow: TPR影子。
  76. vnmi: 不可屏蔽中断。
  77. flexpriority: 灵活优先级。
  78. ept: 扩展页表,用于虚拟化。
  79. vpid: 虚拟页标识符,用于虚拟化。
  80. fsgsbase: 快速系统GS基址访问。
  81. smep: 安全模式执行保护。
  82. erms: 扩展资源管理服务。
  83. xsaveopt: XSAVE优化,减少XSAVE/XRSTOR指令的开销。
相关文章
|
Linux 编译器 vr&ar
linux交叉编译一些常用依赖库util-linux,zlib,sqlite3,eudev ,openssl,libpng,glibc
linux交叉编译一些常用依赖库util-linux,zlib,sqlite3,eudev ,openssl,libpng,glibc
655 1
|
Ubuntu Linux KVM
分享一些OpenStack的qcow2格式实例镜像
分享一些OpenStack的qcow2格式实例镜像
13401 0
分享一些OpenStack的qcow2格式实例镜像
|
网络协议 Linux 数据库
|
缓存 Linux 开发工具
CentOS 7- 配置阿里镜像源
阿里镜像官方地址http://mirrors.aliyun.com/ 1、点击官方提供的相应系统的帮助 :2、查看不同版本的系统操作: 下载源1、安装wget yum install -y wget2、下载CentOS 7的repo文件wget -O /etc/yum.
255128 0
|
Ubuntu Android开发
安卓系统调试与优化:(一)bootchart 的配置和使用
本文介绍了如何在安卓系统中配置和使用bootchart工具来分析系统启动时间,包括安装工具、设备端启用bootchart、PC端解析数据及分析结果的详细步骤。
741 0
安卓系统调试与优化:(一)bootchart 的配置和使用
|
开发工具 git 开发者
|
JSON Java 定位技术
【Android App】GPS获取定位经纬度和根据经纬度获取详细地址讲解及实战(附源码和演示 超详细)
【Android App】GPS获取定位经纬度和根据经纬度获取详细地址讲解及实战(附源码和演示 超详细)
4226 1
|
11月前
|
安全 Docker 容器
Docker中运行容器时Operation not permitted报错问题解决
【10月更文挑战第2天】Docker中运行容器时Operation not permitted报错问题解决
4561 3
|
SQL Java 数据库连接
数据库迁移不再难:Flyway 与 Liquibase 大比拼,哪个才是你的真命天子?
【9月更文挑战第3天】数据库迁移在软件开发中至关重要,尤其在使用 ORM 框架如 Hibernate 时。为确保部署时能顺利应用最新的数据库变更,开发者常使用自动化工具。Flyway 和 Liquibase 是当前流行的两种选择,均能有效管理数据库版本控制。Flyway 采用 SQL 脚本表示变更,简单易用;Liquibase 支持多种脚本格式,功能更强大,适合复杂项目。本文将对比这两种工具的特点,并通过示例展示各自的优缺点,帮助开发者根据项目需求做出合适的选择。
2503 1
|
XML Java Android开发
Android系统 添加动态控制屏幕方向、强制APP横竖屏方向
Android系统 添加动态控制屏幕方向、强制APP横竖屏方向
2190 2