zoukankan      html  css  js  c++  java
  • linux系统下cpu信息的查看

    在Linux系统中,提供了proc文件系统显示系统的软硬件信息。

    如果想了解系统中CPU的提供商和相关配置信息,则可以通过/proc/cpuinfo文件得到。

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

    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          //对能源管理的支持,有以下几个可选支持功能:

    其中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/Sy***it Instructions; SYSENTER is used for jumps to kernel memory during system calls, and SY***IT 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是否启用超线程等信息。

    我们经常需要了解的信息如下:

    [root@5201351 ~]# cat /proc/cpuinfo |grep "physical id" |sort|uniq |wc -l   //物理cpu的个数
    [root@5201351 ~]# cat /proc/cpuinfo | grep "cpu cores" |uniq                //cpu的物理核数
    [root@5201351 ~]# cat /proc/cpuinfo | grep "processor" | wc -l              //cpu的逻辑核数,逻辑核数从编号0开始(top按1也可查看)

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

    如上图结果,因为cpu cores和siblings的数量不一致,因此可以看出此cpu使用了超线程的技术。

    超线程技术是又INTEL提出来的,它指的是CPU在双核的基础上为其每个核心提供两个线程的运算和处理能力,

    特别是让你在多任务运行的时候减少等待的时间,打个简单的比方,如果说你的CPU的运算能力相当于只有两个车道

    在车流量的的时候就会造成堵车的现象,超线程技术在这时为你虚拟的增加了两条通道,相当于四车道,这样至少可以

    减缓堵车的现象,并且在一般情况下都保证畅通无阻,但它不是通过超频来增加功率。

  • 相关阅读:
    plsql使用技巧(转)
    tomcat启动报错:Address already in use: JVM_Bind(转)
    多行文本超出时显示省略号----jquery.ellipsis.js(转)
    SVN使用教程总结(转)
    Navicat Premium 12.0.18安装与激活(转)
    Java编程思想 阅读笔记 第一章 对象导论
    Examples--Basic initialisation
    spring(最新) jar 包下载
    JUC并发编程笔记
    Java 整数的内存分析
  • 原文地址:https://www.cnblogs.com/5201351/p/4253452.html
Copyright © 2011-2022 走看看