一、lscpu輸出
使用lscpu查看的結果如下圖,這里會顯示很多信息,如下:
使用lscpu -p會詳細的numa信息,如下:
- [root@localhost ~]# lscpu -p
- # The following is the parsable format, which can be fed to other
- # programs. Each different item in every column has an unique ID
- # starting from zero.
- # CPU,Core,Socket,Node,,L1d,L1i,L2,L3
- 0,0,0,0,,0,0,0,0
- 1,1,1,2,,1,1,1,1
- 2,2,2,4,,2,2,2,2
- 3,3,3,7,,3,3,3,3
- 4,0,0,0,,4,0,0,0
- 5,1,1,2,,5,1,1,1
- 6,2,2,4,,6,2,2,2
- 7,3,3,7,,7,3,3,3
- 8,4,0,0,,8,4,4,0
- 9,5,1,2,,9,5,5,4
- …………略部
此命令用來顯示cpu的相關信息
lscpu從sysfs和/proc/cpuinfo收集cpu體系結構信息,命令的輸出比較易讀
命令輸出的信息包含cpu數量,線程,核數,套接字和Nom-Uniform Memeor Access(NUMA),緩存等
不是所有的列都支持所有的架構,如果指定了不支持的列,那么lscpu將打印列,但不顯示數據
語法:
lscpu [-a|-b|-c] [-x] [-s directory] [-e [=list]|-p [=list]]
lscpu -h|-V
-a, –all: 包含上線和下線的cpu的數量,此選項只能與選項e或-p一起指定
-b, –online: 只顯示出上線的cpu數量,此選項只能與選項e或者-p一起指定
-c, –offline: 只顯示出離線的cpu數量,此選項只能與選項e或者-p一起指定
-e, –extended [=list]: 以人性化的格式顯示cpu信息,如果list參數省略,輸出所有可用數據的列,在指定了list參數時,選項的字符串、等號(=)和列表必須不包含任何空格或其他空白。比如:’-e=cpu,node’ or ’–extended=cpu,node’
-h, –help:幫助
-p, –parse [=list]: 優化命令輸出,便於分析.如果省略list,則命令的輸出與早期版本的lscpu兼容,兼容格式以兩個逗號用於分隔cpu緩存列,如果沒有發現cpu緩存,則省略緩存列,如果使用list參數,則緩存列以冒號(:)分隔。在指定了list參數時,選項的字符串、等號(=)和列表必須不包含空格或者其它空白。比如:’-e=cpu,node’ or ’–extended=cpu,node’
-s, –sysroot directory: 為一個Linux實例收集CPU數據,而不是發出lscpu命令的實例。指定的目錄是要檢查Linux實例的系統根
-x, –hex:使用十六進制來表示cpu集合,默認情況是打印列表格式的集合(例如:0,1)
顯示格式:
Architecture: #架構
CPU(s): #邏輯cpu顆數
Thread(s) per core: #每個核心線程
Core(s) per socket: #每個cpu插槽核數/每顆物理cpu核數
CPU socket(s): #cpu插槽數
Vendor ID: #cpu廠商ID
CPU family: #cpu系列
Model: #型號
Stepping: #步進
CPU MHz: #cpu主頻
Virtualization: #cpu支持的虛擬化技術
L1d cache: #一級緩存(google了下,這具體表示表示cpu的L1數據緩存)
L1i cache: #一級緩存(具體為L1指令緩存)
L2 cache: #二級緩存
---------------------
作者:linux凱
來源:CSDN
原文:https://blog.csdn.net/chenghuikai/article/details/72832016
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!
* processor 條目包括這一邏輯處理器的唯一標識符。 * physical id 條目包括每個物理封裝的唯一標識符。 * core id 條目保存每個內核的唯一標識符。 * siblings 條目列出了位於相同物理封裝中的邏輯處理器的數量。 * cpu cores 條目包含位於相同物理封裝中的內核數量。 * 如果處理器為英特爾處理器,則 vendor id 條目中的字符串是 GenuineIntel。

---------------------
作者:double12gzh
來源:CSDN
原文:https://blog.csdn.net/gzhouc/article/details/51999485
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
i2000:~
# lscpu
Architecture: x86_64
CPU
op
-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 8
On-line CPU(s) list: 0-7
Thread(s) per core: 2
Core(s) per socket: 1
Socket(s): 4
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 62
Stepping: 4
CPU MHz: 2499.998
BogoMIPS: 4999.99
Hypervisor vendor: KVM
Virtualization
type
: full
L1d cache: 32K
L1i cache: 32K
L2 cache: 4096K
NUMA node0 CPU(s): 0-7
|
socket就是主板上插cpu的槽的數目,也就是可以插入的物理CPU的個數。
core就是我們平時說的“核“,每個物理CPU可以雙核,四核等等。
thread就是每個core的硬件線程數,即超線程
輸入命令cat /proc/cpuinfo 查看physical id有幾個,上述結果顯示只有0,所以只有一個物理cpu;查看processor有幾個,上述結果顯示有0和1兩個,所以有兩個邏輯cpu。
(一)概念
① 物理CPU
實際Server中插槽上的CPU個數
物理cpu數量,可以數不重復的 physical id 有幾個
② 邏輯CPU
/proc/cpuinfo 用來存儲cpu硬件信息的
信息內容分別列出了processor 0 –processor n 的規格。這里需要注意,n是邏輯cpu數
一般情況,我們認為一顆cpu可以有多核,加上intel的超線程技術(HT), 可以在邏輯上再分一倍數量的cpu core出來
邏輯CPU數量=物理cpu數量 x cpu cores 這個規格值 x 2(如果支持並開啟ht)
備注一下:Linux下top查看的CPU也是邏輯CPU個數
③ CPU核數
一塊CPU上面能處理數據的芯片組的數量、比如現在的i5 760,是雙核心四線程的CPU、而 i5 2250 是四核心四線程的CPU
一般來說,物理CPU個數×每顆核數就應該等於邏輯CPU的個數,如果不相等的話,則表示服務器的CPU支持超線程技術
㈡ 查看CPU信息
當我們 cat /proc/cpuinfo 時、
具有相同core id的CPU是同一個core的超線程
具有相同physical id的CPU是同一個CPU封裝的線程或核心
㈢ 下面舉例說明
① 查看物理CPU的個數
#cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc -l
2
② 查看邏輯CPU的個數
#cat /proc/cpuinfo |grep "processor"|wc -l
24
③ 查看CPU是幾核
#cat /proc/cpuinfo |grep "cores"|uniq
6
我這里應該是2個Cpu,每個Cpu有6個core,應該是Intel的U,支持超線程,所以顯示24
lscpu
顯示 CPU 的架構信息
lscpu
從 sysfs
和 proc/cpuinfo
中收集信息。這個命令的輸出是規范的可以用來解析,或者給人來閱讀。該命令顯示的信息包括,CPU 的數量,線程 (thread),核心 (core),Socket 還有 Non-Uniform Memory Access (NUMA) 節點數。
- Socket 具體是指的主板上 CPU 的插槽數量,一般筆記本只有一個,而服務器可能會有多個。如果有兩個插槽,通常稱為兩路
- Core 具體是指 CPU 的核心,也就是平常說的幾核,比如八核之類
- thread 是指的每個 Core 的硬件線程數,超線程
舉例來說,如果某個服務器”2 路 4 核超線程”,也就是 2 個插槽,4 核心,默認為 2 thread,也就是 242 是 16 邏輯 CPU。對操作系統來說,邏輯 CPU 的數量就是 Socket * Core * Thread
。
比如下面我的台式機,1 Sockets, 4 Cores,2 Threads,那么就是 4 核 8 線程。
如下示例:
Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 8 On-line CPU(s) list: 0-7 Thread(s) per core: 2 Core(s) per socket: 4 Socket(s): 1 NUMA node(s): 1
-
lscpu 收集來自 sysf,/proc/cpuinfio 和任何適用於體系結構的庫的 CPU 體系結構信息
-
命令輸出可以進行優化, 以供分析或便於閱讀。這些信息包括,列如:
cpu的數量、線程、內核、套接字和非統一內存訪問 (NUMA) 節點。
還有有關 CPU 緩存和緩存共享、家族、模型 bogoMIPS、字節順序和單步執行的信息。 -
在虛擬化環境中, 顯示的 CPU 體系結構信息反映了與物理 (主機) 系統通常不同的來賓操作系統的配置。 在支持檢索物理拓撲信息的體系結構中, lscpu 還顯示主機系統中的物理插座、芯片、內核數。
-
並非所有的列都支持所有的體系結構。 如果指定了不支持的列, lscpu 將打印該列, 但不為其提供任何數據。
!CPU 文件存放在 /sys/devices/system/cpu/
-
查看CPU信息
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 2
On-line CPU(s) list: 0-1
Thread(s) per core: 1
Core(s) per socket: 2
座:
2
NUMA 節點: 1
廠商
ID: GenuineIntel
CPU 系列: 6
型號:
63
型號名稱:
Intel(R) Core(TM) i7-5820K CPU @ 3.30GHz
步進:
2
CPU MHz: 3299.050
BogoMIPS: 6598.10
超管理器廠商:
VMware
虛擬化類型:
完全
L1d 緩存: 32K
L1i 緩存: 32K
L2 緩存: 256K
L3 緩存: 15360K
NUMA 節點0 CPU: 0-1
|
-
將指定的CPU關閉
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
cd /sys/devices/system/cpu/ # 進入CPU目錄
pwd
/sys/devices/system/cpu
ls -Al |grep 'cpu[0-9]' # 正規則查詢 CPU目錄下 所有CPU
drwxr-xr-x. 6 root root 0 2月 5 2018 cpu0
drwxr-xr-x. 6 root root 0 2月 5 2018 cpu1
cat ./cpu[0-9]/online # 查看所有CPU的 online 值
1
1
echo 0 > ./cpu1/online # 將CPU0 關閉
cat ./cpu[0-9]/online
1
0
lscpu |grep -Ei 'on-line|off-line' # 查看所有CPU的 online 值,可以看到 CPU1 已經被關閉
On-line CPU(s) list: 1
Off-line CPU(s) list: 0
|