這裏有幾個概念:
1、一臺物理機的物理CPU的個數
2、一個CPU上的核數
3、一個核上面支持的線程數
有下面的計算公式:
總核數 = 物理CPU個數 X 每顆物理CPU的核數
總邏輯CPU數 = 物理CPU個數 X 每顆物理CPU的核數 X 超線程數
# 查看CPU信息(型號)
cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
Intel(R) Xeon(R) CPU E5-2630 0 @ 2.30GHz
# 查看物理CPU個數
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
2
#查看每個物理CPU中core的個數(即核數)
cat /proc/cpuinfo| grep "cpu cores"| uniq
cpu cores : 6
# 查看邏輯CPU的總個數
cat /proc/cpuinfo| grep "processor"| wc -l
通過以上幾個 數據可以計算出每個核的超線程數
CPU架構
多個物理CPU,各個CPU通過總線進行通信,效率比較低,如下
多核CPU,不同的核通過L2 cache進行通信,存儲和外設通過總線與CPU通信,如下:
多核超線程,每個核有兩個邏輯的處理單元,兩個線程共同分享一個核的資源,如下:
從上面執行的結果來看,證明我使用的cpu有2 * 6 = 12核,每個核有2個超線程,所以有24個邏輯cpu。
查看內 存信息
cat /proc/meminfo
MemTotal: 264420688 kB
MemFree: 40804524 kB
Buffers: 4100728 kB
Cached: 145047804 kB
SwapCached: 52852 kB
Active: 124676420 kB
Inactive: 76193484 kB
Active(anon): 47186960 kB
Inactive(anon): 4805988 kB
Active(file): 77489460 kB
Inactive(file): 71387496 kB
Unevictable: 364616 kB
Mlocked: 74368 kB
SwapTotal: 16777212 kB
SwapFree: 16420884 kB
Dirty: 8072 kB
Writeback: 0 kB
AnonPages: 52040468 kB
Mapped: 513736 kB
Shmem: 263984 kB
Slab: 19881608 kB
SReclaimable: 19098060 kB
SUnreclaim: 783548 kB
KernelStack: 95088 kB
PageTables: 315300 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 148987556 kB
Committed_AS: 106430376 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 812804 kB
VmallocChunk: 34225494280 kB
HardwareCorrupted: 0 kB
AnonHugePages: 46950400 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
DirectMap4k: 7168 kB
DirectMap2M: 2015232 kB
DirectMap1G: 266338304 kB
原文鏈接:https://blog.csdn.net/l1394049664/article/details/81811642