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