zoukankan      html  css  js  c++  java
  • Ubuntu 下查看CPU 信息命令

    from: http://hi.baidu.com/hermitinhistory/blog/item/ce64d5fb6b23b71b6d22eb95.html

    查看当前操作系统内核信息

    uname -a

    Linux redcat 2.6.31-20-generic #58-Ubuntu SMP Fri Mar 12 05:23:09 UTC 2010 i686 GNU/Linux

    查看当前操作系统发行版信息

    cat /etc/issue

    Ubuntu 9.10 /n /l

    查看cpu型号

    cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c

    2 Intel(R) Core(TM)2 Duo CPU P8600 @ 2.40GHz
    (看到有2个逻辑CPU, 也知道了CPU型号)

    查看物理cpu颗数

    cat /proc/cpuinfo | grep physical | uniq -c

    2 physical id : 0
    (说明实际上是1颗2核的CPU)

    查看cpu运行模式

    getconf LONG_BIT

    32

    (说明当前CPU运行在32bit模式下, 但不代表CPU不支持64bit)

    查看cpu是否支持64bit

    cat /proc/cpuinfo | grep flags | grep ' lm ' | wc -l

    2

    (结果大于0, 说明支持64bit计算. lm指long mode, 支持lm则是64bit)

    查看cpu信息概要(昨天看aix的时候刚发现的,在ubuntu上竟然也有~):

    lscpu

    Architecture: i686 #架构686
    CPU(s): 2 #逻辑cpu颗数是2
    Thread(s) per core: 1 #每个核心线程数是1
    Core(s) per socket: 2 #每个cpu插槽核数/每颗物理cpu核数是2
    CPU socket(s): 1 #cpu插槽数是1
    Vendor ID: GenuineIntel #cpu厂商ID是GenuineIntel
    CPU family: 6 #cpu系列是6
    Model: 23 #型号23
    Stepping: 10 #步进是10
    CPU MHz: 800.000 #cpu主频是800MHz
    Virtualization: VT-x #cpu支持的虚拟化技术VT-x(对此在下一博文中解释下http://hi.baidu.com/sdusoul/blog/item/5d8e0488def3a998a5c272c0.html)
    L1d cache: 32K #一级缓存32K(google了下,这具体表示表示cpu的L1数据缓存为32k)
    L1i cache: 32K #一级缓存32K(具体为L1指令缓存为32K)
    L2 cache: 3072K #二级缓存3072K

    最后来个大而全的:

    cat /proc/cpuinfo

    processor : 0
    vendor_id : GenuineIntel
    cpu family : 6
    model : 23
    model name : Intel(R) Core(TM)2 Duo CPU P8600 @ 2.40GHz
    stepping : 10
    cpu MHz : 800.000
    cache size : 3072 KB
    physical id : 0
    siblings : 2
    core id : 0
    cpu cores : 2
    apicid : 0
    initial apicid : 0
    fdiv_bug : no
    hlt_bug : no
    f00f_bug : no
    coma_bug : no
    fpu : yes
    fpu_exception : yes
    cpuid level : 13
    wp : yes
    flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc arch_perfmon pebs bts pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 xsave lahf_lm ida tpr_shadow vnmi flexpriority
    bogomips : 4788.60
    clflush size : 64
    power management:

    processor : 1
    vendor_id : GenuineIntel
    cpu family : 6
    model : 23
    model name : Intel(R) Core(TM)2 Duo CPU P8600 @ 2.40GHz
    stepping : 10
    cpu MHz : 800.000
    cache size : 3072 KB
    physical id : 0
    siblings : 2
    core id : 1
    cpu cores : 2
    apicid : 1
    initial apicid : 1
    fdiv_bug : no
    hlt_bug : no
    f00f_bug : no
    coma_bug : no
    fpu : yes
    fpu_exception : yes
    cpuid level : 13
    wp : yes
    flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc arch_perfmon pebs bts pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 xsave lahf_lm ida tpr_shadow vnmi flexpriority
    bogomips : 4787.96
    clflush size : 64
    power management:

    补充,linux下通过c获取CPU个数信息

    from: http://hi.baidu.com/hermitinhistory/blog/item/ce64d5fb6b23b71b6d22eb95.html

    #include<stdio.h>
    #include<unistd.h>
    
    int main()
    {
    int cpu_num;
    
    cpu_num = sysconf(_SC_NPROCESSORS_CONF);
    printf("_SC_NPROCESSORS_CONF=%d/n",cpu_num);
    
    cpu_num = sysconf(_SC_NPROCESSORS_ONLN);
    printf("_SC_NPROCESSORS_ONLN=%d/n",cpu_num);
    
    return 0;
    }
    
    /* 
    * - _SC_NPROCESSORS_CONF
    *       The number of processors configured.
    * 
    * - _SC_NPROCESSORS_ONLN
    *       The number of processors currently online (available).
    */
    
    

    Linux下获得CPU个数一个简单方法就是查看/proc/cpuinfo文件。看出现processor字样的行数是多少条,即有多少个逻辑CPU(包括多核,超线程)。
    因此cmd下输入下面命令即可:
    cat /proc/cpuinfo | grep processor | wc -l
    因此c++程序中很自然的想到使用strstr函数查找processor关键词出现次数即可。

  • 相关阅读:
    SQL中的数据库设计三范式
    SQL中的DBA命令
    SQL中的视图
    SQL中的索引
    十大程序员必逛网站
    解放双手!你不知道的代码生成神器
    IT体系的演变
    Nginx的六种负载均衡策略
    前端Chrome调试小技巧汇总
    spring boot:使用async异步线程池发送注册邮件(spring boot 2.3.1)
  • 原文地址:https://www.cnblogs.com/michaelcjl/p/12504322.html
Copyright © 2011-2022 走看看