天天看點

Linux 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

繼續閱讀