1. 程式人生 > >AIX如何檢視cpu個數

AIX如何檢視cpu個數

aix 6.1  p740 p750 

系統中有很多命令可以檢視cpu的個數,但是哪個命令輸出的是邏輯cpu個數,哪個又是物理cpu個數呢?我們下面做一個簡單的介紹。     

 解答:

      從AIX5.3起,對於power5的機器,系統引入了SMT(Simultaneousmulti-threading)的功能,其允許兩個處理執行緒在同一顆處理器上執行,對作業系統而言,一顆物理處理器邏輯上會成為兩個處理單元(邏輯處理器)。也就是說,在SMT功能啟用的情況下,邏輯cpu個數是物理cpu個數的兩倍,而在SMT功能禁用的情況下,邏輯cpu個數與物理cpu個數相等。
      下面我們介紹如何通過各種命令檢查系統中的物理cpu和邏輯cpu的個數。
      1. smtctl

        # smtctl 
      This system is SMT capable.
      SMT is currently enabled.
      SMT boot mode is not set.
        SMT threads are bound to the same physical processor.
      proc0 has 2 SMT threads.
        Bind processor 0 is bound with proc0
        Bind processor 1 is bound with proc0
      
      proc2 has 2 SMT threads.
        Bind processor 2 is bound with proc2
        Bind processor 3 is bound with proc2
      
      proc4 has 2 SMT threads.
        Bind processor 4 is bound with proc4
        Bind processor 5 is bound with proc4
      
      proc6 has 2 SMT threads.
        Bind processor 6 is bound with proc6
        Bind processor 7 is bound with proc6
      可以看到,該系統具有SMT能力且當前SMT功能已啟用。4個物理cpu對應著8個邏輯cpu。
      
      2. bindprocessor

        # bindprocessor -q
        The available processors are: 0 1 2 3 4 5 6 7
      可以看到可用邏輯cpu個數是8個(0-7)。
      3. prtconf
        # prtconf
        System Model: IBM,9131-52A
        Machine Serial Number: 0677A5G
        Processor Type: PowerPC_POWER5
        Number Of Processors: 4         ==》物理cpu有4個
        Processor Clock Speed: 1648 MHz
        CPU
 Type: 64-bit
        Kernel Type: 64-bit
        LPAR Info: 1 06-77A5G
      4.lsdev
        # lsdev -Cc processor
        proc0 Available 00-00 Processor
        proc2 Available 00-02 Processor
        proc4 Available 00-04 Processor
        proc6 Available 00-06 Processor
      可以看到系統中有4個物理cpu。
      5.vmstat
        # vmstat
      System configuration: lcpu=8 mem=7936MB
      kthr    memory              page              faults        cpu
        ----- ----------- ------------------------ ------------ -----------
        r b   avm   fre re pi po fr   sr cy in   sy cs us sy id wa
        1 1 428238 41599   0   0   0 13   25   0 40 1639 182 0 0 99
      可以看到系統中有8個邏輯cpu。
多核技術與併發多執行緒技術介紹(轉載)

看多很多人在這個上面把概念弄混淆,我這裡給大家簡單介紹一下這兩個技術的不同。多核技術可以看成是一種cpu的整合技術,在一個CPU處理模組上,可以整合2個或者是多個CPU,但是,他們還是單獨的物理cpu。併發多執行緒技術則需要OS的支援,是在OS級別上,可以實現一個物理cpu的多執行緒併發處理,提高oltp環境模式下的cpu利用率。
先說多核技術,如在IBM的power5中,就有如下幾種不同的cpu整合模式:如Dual-Core Module(雙核),表示一個cpu模組中其實有2個物理的cpu(也叫core),他們共享L2與L3 cache。這種cpu模組一般用在520/550上,所以,象採用這種模式的550最多可以有4顆CPU(2個cpu模組)。而Quad Core Module [QCM],這個不知道怎麼翻譯了,這種技術下,在一個cpu模組中,有4個物理cpu,相當與2個Dual-Core Module整合在一個cpu模組中,從55Q以後的機型,如55Q、55A都支援這樣的cpu模組,所以,如果採用這樣的模組,55A就可以達到8顆物理cpu。最後說Multi-Chip Module,這個就叫多核技術了,如一個cpu模組中,可以有8個物理cpu,相當於4個Dual-Core Module,一般用在590與595上。如圖,則是一個採用了Multi-Chip Module技術的cpu模組:


從以上的圖片與描述可以看到,這種多核技術不過是物理cpu的高整合度技術,讓更小的地方,可以放更多的cpu,如550空間大小不變,同樣2個cpu模組,如果採用雙核的cpu模組,則只可以支援4顆cpu,如果採用Quad Core Module [QCM]技術的cpu模組,則最多可以支援到8顆cpu。
需要注意的是,這個時候550的cpu模組(cpu插槽)並沒有增加,所以,如果在開始選型的時候,只選擇4顆cpu(或以下),而又想留有擴充套件餘地的話,則一定要選擇Quad Core Module [QCM]技術的cpu模組,否則,以後只能通過更換cpu模組(而不是增加cpu模組)來升級cpu個數了,這樣會比較麻煩。
在不同的廠商,對這個多核技術可能略有差別,如Sun將其多核心架構命名為CMT(Chip Multi-Threaded),把一個晶片(類似IBM的CPU模組,內含2個或多個core)叫成一個cpu(physical processor)。CMT技術能夠將更多的電晶體壓縮到一個晶片中,同時能夠簡化每一個CPU的設計,把更多的CPU壓在一個晶片當中以提高整個晶片處理交易事務的能力。需要知道的是,這裡與ibm的core的定義將有所差別,IBM認為一個core是一個cpu(physical processor),而SUN認為一個晶片是一個CPU。更多的人習慣拿CMT技術與下面說的SMT技術來對比,但是CMT是硬體技術,SMT更多是軟體技術,所以,我個人認為與多核技術對比比較合適。
因為以上的差別,以cpu為收費物件的廠商,如Oracle,則在不同的cpu型別上,一般有不同的處理方式,現在一般已經不在按物理的cpu來購買license,而是cpu模組方式來購買,例如oracle規定,在IBM Dual-Core Module(雙核模組)的power晶片上,一個雙核模組(內含2顆物理cpu)只需要購買1.5個license。
看了多核技術,我們再說併發多執行緒技術,在power5的構架上,以及AIX 5.3以上,或執行在其上的linux 2.6核心以上,都可以支援這個技術,也叫SMT(simultaneous multi-threading)技術。一個物理的CPU,在IBM中也就是一個core,在OS層面上,將顯示為2顆(或多顆,這需要看未來的發展可能性)邏輯的CPU。
注意的是,這種技術與硬體構架以及OS都是有關係的,如SMT就是power5才支援的,而且也要特定的OS,如Aix 5.3才支援,也就是說,power5上跑5.2,也是不支援這樣的技術的。在這樣的技術中,每個power5 cpu兩個硬體執行緒,SMT旨在利用POWER5處理器的超標量特性,以便同時執行多個指令。它的基本理念是:沒有一個單一應用可使向POWER5這樣的超標量處理器達到完全飽和的狀態,因此,部署同時提供輸入的多個應用效果更理想。如圖,如果把cpu的指令處理分成很多小的單元的話,它們是可以併發的。


那麼,按照這樣的設計思想,那麼,SMT技術將在細小的oltp應用中受益,而大型的計算業務,如浮點密集型的工作(耗費單個CPU很長時間,對浮點單元與記憶體頻寬消耗比較大),是不適合使用SMT技術的。當然,我們可以在OS級別決定是否開啟SMT技術,主要取決於這個技術是否為我們帶來好處,預設則是開啟SMT。
在實際的使用中,我們可能發現,一個物理cpu分化的2個邏輯cpu可能存在分配不平等的現象,如topas可以看到:
    CPU      User%   Kern%   Wait%   Idle%
    cpu6      31.7     7.5    51.6     9.1
    cpu4      30.4    10.1    45.2    14.3
    cpu0      19.4     6.6    28.2    45.8
    cpu2      15.4     5.7    31.4    47.5
    cpu3       0.0     1.5     0.0    98.5
    cpu5       0.0     1.3     0.0    98.7
    cpu7       0.0     1.3     0.0    98.7
    cpu1       0.0     1.6     0.0    98.4 
如以上,1,3,5,7比較閒,而2,4,6,8會比較忙,按照IBM的官方說法是,在SMT技術中,如果僅僅是其中一半的邏輯cpu(對應到具體個數的物理cpu)能滿足需求的話,另外的一半邏輯cpu將一般比較閒置,只有當系統業務比較繁忙的時候,另外一半的邏輯cpu是可以參與計算的。我猜想,估計這樣處理的規則是,避免在簡單任務的時候,也採用複雜的分發機制。
以上介紹了多核技術與多執行緒技術,多核技術一般指cpu的整合度,一般的廠家規則都是一個core對應到一個物理cpu,所以,一個cpu模組中可能存在多個物理cpu,而併發多執行緒技術(SMT)則是指單一物理處理器能夠同時分發來自多於一個硬體執行緒上下文的指令,可以虛化成2個邏輯的CPU。我們看一個power5的Dual-Core Module技術的cpu模組與邏輯CPU的對照圖:

我們也可以採用如下的命令檢視AIX 5L上物理cpu的個數,他們的數目不同於開啟過SMT技術以後的topas中的cpu個數,簡單的說,採用smt技術的os上,topas看到的cpu個數是物理cpu的2倍。
#lsdev -Cc processor
    proc0          Available 00-00         Processor
    proc2          Available 00-02         Processor
    proc4          Available 00-04         Processor
    proc6          Available 00-06         Processor
這個命令檢視到的,則是邏輯cpu的數目,與topas看到的數目一致:
#bindprocessor -q
    The available processors are:  0 1 2 3 4 5 6 7
我們也可以採用如下的命令檢視cpu的詳細資訊,如主頻,是否支援SMT,是否開啟了SMT等等。
#lsattr -El proc0
    frequency   1896102000     Processor Speed       False
    smt_threads 2              Processor SMT threads False
    state       enable         Processor state       False
    type        PowerPC_POWER5 Processor type        False
或者使用smtctl檢視整體的smt資訊,更多的資訊可以檢視man smtctl
#smtctl
    This system is SMT capable.
    SMT is currently enabled.
    SMT boot mode is not set.
    SMT threads are bound to the same physical processor.
    proc0 has 2 SMT threads.
    Bind processor 0 is bound with proc0
    Bind processor 1 is bound with proc0
    proc2 has 2 SMT threads.
    Bind processor 2 is bound with proc2
    Bind processor 3 is bound with proc2
    proc4 has 2 SMT threads.
    Bind processor 4 is bound with proc4
    Bind processor 5 is bound with proc4
    proc6 has 2 SMT threads.
    Bind processor 6 is bound with proc6
    Bind processor 7 is bound with proc6

相關推薦

AIX如何檢視cpu個數

aix 6.1  p740 p750  系統中有很多命令可以檢視cpu的個數,但是哪個命令輸出的是邏輯cpu個數,哪個又是物理cpu個數呢?我們下面做一個簡單的介紹。       解答:       從AIX5.3起,對於power5的機器,系統引入了SMT(Simultaneousmulti-thr

Centos 檢視CPU個數、核心數等資訊

總核數 = 物理CPU個數 X 每顆物理CPU的核數 總邏輯CPU數 = 物理CPU個數 X 每顆物理CPU的核數 X 超執行緒數 檢視物理CPU個數 cat /proc/cpuinfo| grep “physical id”| sort| uniq| wc

UNIX上檢視CPU個數和記憶體

檢視cpu 1、aix和hp上面: lsdev -C | grep Process | wc -l lscfg |grep proc lsattr -El proc0 lscfg |grep mem lsattr -El mem0 2、solaris上面: psrinfo -v | grep "Status

Linux檢視CPU個數、記憶體等資訊

總核數 = 物理CPU個數 X 每顆物理CPU的核數 總邏輯CPU數 = 物理CPU個數 X 每顆物理CPU的核數 X 超執行緒數 檢視CPU資訊命令 >> cat /proc/cpuinfo 檢視物理CPU的個數

Linux命令之檢視cpu個數_核數_記憶體總數

http://blog.csdn.net/cgwcgw_/article/details/10000053 cpu個數 cat /proc/cpuinfo | grep "physical id" | uniq cpu核數 cat /proc/cpuinfo | grep

linux下檢視CPU個數、核數、執行模式以及是否支援超執行緒技術

1.檢視物理CPU個數 #cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc -l 執行結果:1 2.檢視邏輯CPU個數 #cat /proc/cpuinfo |grep "processor"|wc -l 執行結果:

Linux如何檢視CPU資訊,Linux檢視CPU個數和核心數,Linux檢視CPU使用率和執行位數

 一、Linux檢視CPU基本資訊,可以使用命令: cat /proc/cpuinfo 例如筆者的虛擬機器: [[email protected] ~]# cat /proc/cpuinfo processor : 0 vendor_id : GenuineI

Linux 檢視系統cpu個數 核心數 執行緒數

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

檢視系統cpu個數、核心數、執行緒數

1、檢視物理cpu個數 grep 'physical id' /proc/cpuinfo | sort -u|wc -l 2、檢視核心數量 grep 'core id' /proc/cpuinfo | sort -u | wc -l 3、檢視執行緒數 grep 'proc

Linux檢視物理CPU個數、核數、邏輯CPU個數

# 總核數 = 物理CPU個數 X 每顆物理CPU的核數 # 總邏輯CPU數 = 物理CPU個數 X 每顆物理CPU的核數 X 超執行緒數 # 檢視物理CPU個數 cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc

Linux上檢視物理CPU個數,核數,執行緒數

首先,看看什麼是超執行緒概念 超執行緒技術就是利用特殊的硬體指令,把兩個邏輯核心模擬成兩個物理晶片,讓單個處理器都能使用執行緒級平行計算,進而相容多執行緒作業系統和軟體,減少了CPU的閒置時間,提高的CPU的執行效率。 超執行緒技術是在一顆CPU同時執行多個程式而共同分享一顆CPU內的資

CentOS6 檢視系統 CPU 個數、核心數、執行緒數

1、檢視 CPU 物理個數   grep 'physical id' /proc/cpuinfo | sort -u | wc -l 2、檢視 CPU 核心數量   grep 'core id' /proc/cpuinfo | sort -u | wc -l 3、檢視 CPU

CentOS6.8 檢視系統 CPU 個數、核心數、執行緒數

1、檢視 CPU 物理個數   grep 'physical id' /proc/cpuinfo | sort -u | wc -l 2、檢視 CPU 核心數量   grep 'core id' /proc/cpuinfo | sort -u | wc -l 3、檢視 CPU

Linux作業系統檢視CPU型號、個數、核數、邏輯CPU數、位數、發行版本、核心資訊、記憶體、伺服器生產廠家

Linux下的CPU資訊全部都在/proc/cpuinfo這個檔案中,可以直接開啟看。  # 總核數 = 物理CPU個數 X 每顆物理CPU的核數 # 總邏輯CPU數 = 物理CPU個數 X 每顆物理CPU的核數 X 超執行緒數 判斷是否開啟了超執行緒: 如果多個邏輯CP

Linux上如何檢視物理CPU個數,核數,執行緒數

轉載自:http://www.cnblogs.com/ivictor/p/6208573.html 首先,看看什麼是超執行緒概念 超執行緒技術就是利用特殊的硬體指令,把兩個邏輯核心模擬成兩個物理晶片,讓單個處理器都能使用執行緒級平行計算,進而相容多執行緒作業系統和軟體,減少了CPU的閒置時間,提高的C

Linux下如何檢視CPU型號、個數、核數、邏輯CPU數、位數、發行版本、核心資訊、記憶體、伺服器生產廠家

【原文連結】:http://blog.csdn.net/mdx20072419/article/details/7767809 http://blog.chinaunix.net/uid-22425237-id-3496577.html ---------------

linux下檢視cpu物理個數和邏輯個數

hadoop@chw-desktop3:~$ cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 15 model : 2 model name : Intel(R) Pentium(

Linux_檢視系統cpu個數、核心數、執行緒數

開發十年,就只剩下這套架構體系了! >>>   

Linux查看物理CPU個數、核數、邏輯CPU個數

-c physical 邏輯 型號 物理 log bar min tool # 總核數 = 物理CPU個數 X 每顆物理CPU的核數 # 總邏輯CPU數 = 物理CPU個數 X 每顆物理CPU的核數 X 超線程數 # 查看物理CPU個數 cat /pro

查看Linux物理CPU個數

div -a 核心 tps ont 查看cpu 邏輯 sso 個數 查看內核版本 lsb_release -a 查看物理CPU個數、核數、邏輯CPU個數 (1)具有相同core id的CPU是同一個core的超線程。 (2)具有相同physical id的CPU