在Linux系统中,提供了proc文件系统显示系统的软硬件信息。如果想了解系统中CPU的提供商和相关配置信息,则可以通过/proc/cpuinfo文件得到。本文章针对该文件进行简单的总结。

基于不同指令集(ISA)的CPU产生的/proc/cpuinfo文件不一样,基于X86指令集CPU的/proc/cpuinfo文件包含如下内容:

processor  : 0

vendor_id  :GenuineIntel

cpu family  :6

model    :26

model name :Intel(R) Xeon(R) CPU           E5520  @ 2.27GHz

stepping    :5

cpu MHz    :1600.000

cache size  : 8192 KB

physical id  :0

siblings    :8

core id     : 0

cpu cores   :4

apicid         :0

fpu       :yes

fpu_exception :yes

cpuid level   : 11

wp      :yes

flags      : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx rdtscp lm constant_tsc ida nonstop_tsc pni monitor ds_cpl vmx est tm2 cx16 xtpr popcnt lahf_lm

bogomips   :4522.12

clflush size  :64

cache_alignment  : 64

address sizes    : 40 bits physical, 48 bits virtual

power management :

以上输出项的含义如下:

processor :系统中逻辑处理核的编号。对于单核处理器,则课认为是其CPU编号,对于多核处理器则可以是物理核、或者使用超线程技术虚拟的逻辑核

vendor_id :CPU制造商

cpu family :CPU产品系列代号

model   :CPU属于其系列中的哪一代的代号

model name:CPU属于的名字及其编号、标称主频

stepping   :CPU属于制作更新版本

cpu MHz   :CPU的实际使用主频

cache size   :CPU二级缓存大小

physical id   :单个CPU的标号

siblings       :单个CPU逻辑物理核数

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

cpu cores    :该逻辑核所处CPU的物理核数

apicid          :用来区分不同逻辑核的编号,系统中每个逻辑核的此编号必然不同,此编号不一定连续

fpu             :是否具有浮点运算单元(Floating Point Unit)

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

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

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

flags          :当前CPU支持的功能

bogomips   :在系统内核启动时粗略测算的CPU速度(Million Instructions Per Second)

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

cache_alignment :缓存地址对齐单位

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

power management :对能源管理的支持,有以下几个可选支持功能:

ts:  temperature sensor

fid:   frequency id control

vid:  voltage id control

ttp:  thermal trip

tm:

stc:

100mhzsteps:

hwpstate:

CPU信息中flags各项含义:

fpu: Onboard (x87) Floating Point Unit

vme: Virtual Mode Extension

de: Debugging Extensions

pse: Page Size Extensions

tsc: Time Stamp Counter: support for RDTSC and WRTSC instructions

msr: Model-Specific Registers

pae: Physical Address Extensions: ability to access 64GB of memory; only 4GB can be accessed at a time though

mce: Machine Check Architecture

cx8: CMPXCHG8 instruction

apic: Onboard Advanced Programmable Interrupt Controller

sep: Sysenter/Sysexit Instructions; SYSENTER is used for jumps to kernel memory during system calls, and SYSEXIT is used for jumps: back to the user code

mtrr: Memory Type Range Registers

pge: Page Global Enable

mca: Machine Check Architecture

cmov: CMOV instruction

pat: Page Attribute Table

pse36: 36-bit Page Size Extensions: allows to map 4 MB pages into the first 64GB RAM, used with PSE.

pn: Processor Serial-Number; only available on Pentium 3

clflush: CLFLUSH instruction

dtes: Debug Trace Store

acpi: ACPI via MSR

mmx: MultiMedia Extension

fxsr: FXSAVE and FXSTOR instructions

sse: Streaming SIMD Extensions. Single instruction multiple data. Lets you do a bunch of the same operation on different pieces of input: in a single clock tick.

sse2: Streaming SIMD Extensions-2. More of the same.

selfsnoop: CPU self snoop

acc: Automatic Clock Control

IA64: IA-64 processor Itanium.

ht: HyperThreading. Introduces an imaginary second processor that doesn’t do much but lets you run threads in the same process a  bit quicker.

nx: No Execute bit. Prevents arbitrary code running via buffer overflows.

pni: Prescott New Instructions aka. SSE3

vmx: Intel Vanderpool hardware virtualization technology

svm: AMD “Pacifica” hardware virtualization technology

lm: “Long Mode,” which means the chip supports the AMD64 instruction set

tm: “Thermal Monitor” Thermal throttling with IDLE instructions. Usually hardware controlled in response to CPU temperature.

tm2: “Thermal Monitor 2″ Decrease speed by reducing multipler and vcore.

est: “Enhanced SpeedStep”

根据以上内容,我们则可以很方便的知道当前系统关于CPU、CPU的核数、CPU是否启用超线程等信息。

查询系统具有多少个逻辑核:cat /proc/cpuinfo | grep "processor" | wc -l

查询系统CPU的物理核数:cat /proc/cpuinfo | grep "cpu cores" | uniq

查询系统CPU是否启用超线程:cat /proc/cpuinfo | grep -e "cpu cores"  -e "siblings" | sort | uniq

输出举例:

cpu cores    : 6

siblings     : 6

如果cpu cores数量和siblings数量一致,则没有启用超线程,否则超线程被启用。

查询系统CPU的个数:cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l

查询系统CPU是否支持某项功能,则根以上类似,输出结果进行sort, uniq和grep就可以得到结果。

linux 下/proc/cpuinfo三级缓存,51CTO博客-专业IT技术博客创作平台-技术成就梦想相关推荐

  1. linux 下/proc/cpuinfo三级缓存,linux /proc/cpuinfo文件分析

    基于不同指令集(ISA)的CPU产生的/proc/cpuinfo文件不一样,基于X86指令集CPU的/proc/cpuinfo文件包含如下内容: processor : 0 vendor_id :Ge ...

  2. linux下/proc/cpuinfo 文件分析

    /proc/cpuinfo文件分析 在Linux系统中,提供了proc文件系统显示系统的软硬件信息.如果想了解系统中CPU的提供商和相关配置信息,则可以通过/proc/cpuinfo文件得到.本文章针 ...

  3. linux下/proc/cpuinfo文件

    /proc/cpuinfo可以用来查看CPU信息,相关字段如下: processor :系统中逻辑处理核的编号.对于单核处理器,则课认为是其CPU编号,对于多核处理器则可以是物理核.或者使用超线程技术 ...

  4. linux下查看cpu物理个数和逻辑个数 - chw1989的专栏 - 博客频道 - CSDN.NET

    linux下查看cpu物理个数和逻辑个数 - chw1989的专栏 - 博客频道 - CSDN.NET [plain] view plaincopyprint? hadoop@chw-desktop3 ...

  5. linux proc目录 是什么意思,linux 下proc目录里面有什么

    linux 下proc目录里面有什么 (2012-05-02 16:28:27) 标签: 杂谈 /proc/1 关于进程1的信息目录.每个进程在/proc 下有一个名为其进程号的目录. /proc/c ...

  6. linux下 redis如何清空缓存

    linux下 redis如何清空缓存 1,进入redis安装目录下bin目录 cd cd /opt/my_workspace/redis/bin 2,连接redis服务端 ./redis-cli -h ...

  7. 三级缓存(不是CPU的概念,而是一种技术上逻辑容错处理方案)

    三级缓存(不是CPU的概念,而是一种技术上逻辑容错处理方案) 相信硬件出生的同学,对这个一眼就认为是CPU的三级缓存. 百科上解释的三级缓存 三级缓存是为读取二级缓存后未命中的数据设计的-种缓存,在拥 ...

  8. 解说linux下proc文件系统

    proc文件系统的作用是访问系统内核信息  proc不是一个真实的文件系统,它不占系统的外存空间,只是以文件的形式为用户访问linux内核数据提供接口, 因为系统内核总是动态的变化,所以我们所捕捉到的 ...

  9. linux下/proc目录简介

    1./proc目录概述 Linux 内核提供了一种通过 /proc 文件系统,在运行时访问内核内部数据结构.改变内核设置的机制.proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间.它 ...

最新文章

  1. Linux进程管理: 多进程编程
  2. matlab arr3(5 end),matlab复习笔记.doc
  3. 构造器与一般方法对比
  4. 微信小程序把玩(四十)animation API
  5. 利用ngnix解决跨域问题
  6. python学习笔记(十三)标准库heapq
  7. [vue-element]ElementUI的穿梭组件如果数据量大会变卡怎么解决不卡的问题呢?
  8. react 中组件隐藏显示_React组件开发中常见的陷阱及解决
  9. [渝粤教育] 广东-国家-开放大学 21秋期末考试管理学原理★10013k1
  10. html怎样在雪景里插入文字,下雪朋友圈怎么配文字 雪景发朋友圈配一句话
  11. arch Android模拟器,安卓系统上的全能模拟器Retroarch
  12. php解析m3u8代码,m3u8后缀 视频解析接口源码
  13. linux中21个中级命令
  14. 由于CSDN博客广告太多,本博客暂时停止更新
  15. hr面试十大经典提问
  16. 工具推荐:最好用的pCap工具
  17. 综述:生成自动驾驶的高精地图技术(3)
  18. java-读取Excel文件,自定义读取固定行、列(不区分xls、xlsx)
  19. 也许你我都在等待~~~~~~~~~~~~~~~~
  20. Hexo 个性化配置(三)

热门文章

  1. python list根据值返回位置
  2. java 子集_java – 带负数的子集和
  3. php strncmp,PHP中strncmp()函数比较两个字符串前2个字符是否相等的方法
  4. [面试] Thread 中 start() 和 run() 的区别都不知道,还怎么混?
  5. cesium入门示例-3dTiles加载
  6. EventBus猜想 ----手把手带你自己实现一个EventBus
  7. Java提高篇——静态代码块、构造代码块、构造函数以及Java类初始化顺序
  8. 有向图的强连通分量,割点与桥
  9. Linux同步时间命令ntpdate
  10. Verdi(debussy)中查看memory