首页 > 代码库 > cpu相关信息(进程、线程、核...)

cpu相关信息(进程、线程、核...)

cpu的相关信息。

1、cpu

  1.1 物理cpu

    实际Server中插槽上的CPU个数。物理cpu数量,可以数不重复的 physical id 有几个

    1.1.1 查看物理CPU的个数

    cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc -l

  1.2 逻辑cpu

    Linux用户对 /proc/cpuinfo 这个文件肯定不陌生. 它是用来存储cpu硬件信息的。信息内容分别列出了processor 0 – n 的规格。这里需要注意,如果你认为n就是真实的cpu数的话, 就大错特错了。一般情况,我们认为一颗cpu可以有多核,加上intel的超线程技术(HT), 可以在逻辑上再分一倍数量的cpu core出来。逻辑CPU数量=物理cpu数量 x cpu cores 这个规格值 x 2(如果支持并开启ht) 。

    备注一下:Linux下top查看的CPU也是逻辑CPU个数

    1.2.1 查看逻辑CPU的个数

   cat /proc/cpuinfo |grep "processor"|wc -l 

  1.3 核数

    一块CPU上面能处理数据的芯片组的数量、比如现在的i5 760,是双核心四线程的CPU、而 i5 2250 是四核心四线程的CPU。   

           一般来说,物理CPU个数×每颗核数就应该等于逻辑CPU的个数,如果不相等的话,则表示服务器的CPU支持超线程技术。
    1.3.1  查看CPU是几核  
   cat /proc/cpuinfo |grep "cores"|uniq

   

   1.4 决定CPU的性能的几大要素:架构,缓存,频率,线程数,核心数。

    下面讲线程与进程的区别

2、线程与进程

  什么是进程?

    进程就是正在执行的程序

   什么是线程?

    1)轻量级的进程

    2)进程有独立的地址空间。线程没有

    3)线程不能独立存在,她是由进程创建的(fork)Thread

    4)相对讲,线程消费的cpu和内存小于进程

3、之间的关系

  cpu可以有多个核,如:单核,双核,三核等

  一个核可以有多个进程

  一个进程必选有一个或者多个线程

4.总结

  cat /proc/cpuinfo中的信息

  • processor       逻辑处理器的id。
  • physical id    物理封装的处理器的id。
  • core id        每个核心的id。
  • cpu cores      位于相同物理封装的处理器中的内核数量。
  • siblings       位于相同物理封装的处理器中的逻辑处理器的数量。

  1 查看物理CPU的个数

    #cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc –l

  2、   查看逻辑CPU的个数
    #cat /proc/cpuinfo |grep "processor"|wc –l

  3、  查看CPU是几核
    #cat /proc/cpuinfo |grep "cores"|uniq

  4、  查看CPU的主频
    #cat /proc/cpuinfo |grep MHz|uniq 

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

   # uname -a

    Linux euis1 2.6.9-55.ELsmp #1 SMP Fri Apr 20 17:03:35 EDT 2007 i686 i686 i386 GNU/Linux

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

  # cat /etc/issue | grep Linux

    Red Hat Enterprise Linux AS release 4 (Nahant Update 5)

  8、CPU型号 

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

       Intel(R) Xeon(R) CPU   E5410   @ 2.33GHz

      (看到有8个逻辑CPU, 也知道了CPU型号)

     9  

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

    4   physical id      : 0

    4   physical id      : 1

    (说明实际上是两颗4核的CPU)

    # 其实是可能有超线程HT技术,不一定是有4核,也可能是2核4线程;还理解不清楚

  10

  # getconf LONG_BIT

   32

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

  11、

  # cat /proc/cpuinfo | grep flags | grep ‘ lm ‘ | wc –l

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

  12、如何获得CPU的详细信息:

      linux命令:cat /proc/cpuinfo

  13、是否为超线程?如果有两个逻辑CPU具有相同的”core id”,那么超线程是打开的。每个物理CPU中逻辑CPU(可能是core, threads或both)的个数:

    # cat /proc/cpuinfo | grep "siblings"

 注:

  1.查看CPU信息命令

  cat /proc/cpuinfo

  2.查看内存信息命令

  cat /proc/meminfo

  3.查看硬盘信息命令

  fdisk -l

/proc下的文件很强大,还在研究中!!!

http://www.cnblogs.com/lliqiang/p/4143927.html 

推荐一下这边关于进程的,这2货写的不错!

cpu相关信息(进程、线程、核...)