CentOS系統(tǒng)下快速獲取CPU核心數(shù)與內(nèi)存大小的完整指南
引言
在Linux服務(wù)器管理和性能優(yōu)化中,了解系統(tǒng)的硬件資源(如CPU核心數(shù)、內(nèi)存大?。┦侵陵P(guān)重要的。無論是部署應(yīng)用程序、調(diào)試性能瓶頸,還是進(jìn)行容量規(guī)劃,掌握這些基本信息都能幫助我們更高效地管理服務(wù)器。
CentOS(Community Enterprise Operating System)作為一款廣泛使用的企業(yè)級(jí)Linux發(fā)行版,提供了多種命令行工具來查詢系統(tǒng)資源。本文將詳細(xì)介紹如何在CentOS系統(tǒng)中快速、準(zhǔn)確地獲取CPU核心數(shù)和內(nèi)存大小,并通過實(shí)際命令示例和解釋幫助讀者掌握這些技巧。
1. 查詢CPU核心數(shù)
CPU核心數(shù)直接影響系統(tǒng)的并行計(jì)算能力,因此我們需要知道服務(wù)器的物理核心數(shù)和邏輯核心數(shù)(即線程數(shù))。
1.1 使用lscpu命令
lscpu 是Linux下最常用的CPU信息查詢工具,能夠顯示詳細(xì)的CPU架構(gòu)、核心數(shù)、線程數(shù)等信息。
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: 4
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
Model name: Intel(R) Xeon(R) CPU E5-2678 v3 @ 2.50GHz
...
關(guān)鍵字段解析:
CPU(s):邏輯CPU數(shù)量(總線程數(shù) = 物理核心數(shù) × 每核線程數(shù))。Thread(s) per core:每個(gè)物理核心支持的線程數(shù)(超線程技術(shù)下通常為2)。Core(s) per socket:每個(gè)CPU插槽的物理核心數(shù)。Socket(s):物理CPU插槽數(shù)量(服務(wù)器通常有1或2個(gè))。
計(jì)算方式:
- 總物理核心數(shù) =
Socket(s) × Core(s) per socket
(示例中:1 × 4 = 4個(gè)物理核心) - 總邏輯核心數(shù)(線程數(shù)) =
CPU(s)
(示例中:8個(gè)邏輯線程)
1.2 使用nproc命令
如果只需要快速獲取邏輯CPU核心數(shù),可以使用 nproc 命令:
nproc
輸出示例:
8
1.3 使用/proc/cpuinfo
Linux的 /proc/cpuinfo 文件存儲(chǔ)了詳細(xì)的CPU信息,我們可以用 grep 提取關(guān)鍵數(shù)據(jù):
cat /proc/cpuinfo | grep "processor" | wc -l
這條命令會(huì)返回邏輯CPU數(shù)量(等同于 nproc)。
2. 查詢內(nèi)存大小
內(nèi)存大小直接影響系統(tǒng)能運(yùn)行的進(jìn)程數(shù)量和服務(wù)性能,我們可以通過多種方式查詢內(nèi)存信息。
2.1 使用free命令
free 是最常用的內(nèi)存查詢工具,可以顯示物理內(nèi)存和交換分區(qū)(Swap)的使用情況。
free -h
輸出示例:
total used free shared buff/cache available
Mem: 15G 2.1G 11G 10M 1.8G 13G
Swap: 2.0G 0B 2.0G
關(guān)鍵字段解析:
Mem: total:總物理內(nèi)存(示例中為15GB)。available:系統(tǒng)可用內(nèi)存(包括緩存和緩沖區(qū))。Swap: total:交換分區(qū)大小。
2.2 使用/proc/meminfo
Linux的 /proc/meminfo 文件記錄了詳細(xì)的內(nèi)存信息,我們可以直接讀取:
cat /proc/meminfo | grep MemTotal
輸出示例:
MemTotal: 16248576 kB # 約15.5GB
2.3 使用dmidecode(需root權(quán)限)
如果需要查詢更詳細(xì)的硬件信息(如內(nèi)存插槽、型號(hào)等),可以使用 dmidecode:
sudo dmidecode -t memory | grep -A5 "Memory Device"
輸出示例:
Memory Device
Total Width: 64 bits
Data Width: 64 bits
Size: 8192 MB
Form Factor: DIMM
Speed: 2400 MHz
3. 快速匯總系統(tǒng)資源
如果希望一鍵獲取CPU核心數(shù)和內(nèi)存大小,可以使用以下命令組合:
echo "CPU Cores: $(nproc) | Memory: $(free -h | awk '/Mem:/ {print $2}')"
輸出示例:
CPU Cores: 8 | Memory: 15G
4. 進(jìn)階查詢技巧
4.1 檢查NUMA架構(gòu)(多CPU服務(wù)器)
在高端服務(wù)器上,CPU和內(nèi)存可能采用NUMA(Non-Uniform Memory Access)架構(gòu),可以使用:
numactl --hardware
輸出示例:
available: 2 nodes (0-1)
node 0 cpus: 0 1 2 3
node 0 size: 8192 MB
node 1 cpus: 4 5 6 7
node 1 size: 8192 MB
4.2 檢查CPU型號(hào)和頻率
cat /proc/cpuinfo | grep "model name" | head -n 1
輸出示例:
model name : Intel(R) Xeon(R) CPU E5-2678 v3 @ 2.50GHz
5. 常見問題與解決方案
5.1 命令不存在
如果 lscpu 或 free 不可用,可能是缺少依賴包,可以安裝:
# CentOS 7/8 sudo yum install util-linux procps-ng # CentOS Stream / Rocky Linux / AlmaLinux sudo dnf install util-linux procps-ng
5.2 虛擬化環(huán)境下的資源查詢
在云服務(wù)器(如AWS、阿里云)上,lscpu 可能顯示的是虛擬化后的CPU核心數(shù),實(shí)際資源可能受限于云服務(wù)商配額??梢允褂茫?/p>
# 檢查cgroup限制(容器/K8s環(huán)境) cat /sys/fs/cgroup/cpu/cpu.cfs_quota_us cat /sys/fs/cgroup/memory/memory.limit_in_bytes
6. 總結(jié)
本文介紹了在CentOS系統(tǒng)中查詢CPU核心數(shù)和內(nèi)存大小的多種方法,包括:
- CPU查詢:
lscpu、nproc、/proc/cpuinfo - 內(nèi)存查詢:
free、/proc/meminfo、dmidecode - 快速匯總:
echo "CPU: $(nproc) | Memory: $(free -h)" - 進(jìn)階技巧:NUMA架構(gòu)、CPU型號(hào)檢查
掌握這些命令后,你可以快速評(píng)估服務(wù)器硬件資源,優(yōu)化應(yīng)用部署,提高系統(tǒng)管理效率。
附錄:常用命令速查表
| 用途 | 命令 |
|---|---|
| 查詢邏輯CPU核心數(shù) | nproc |
| 查詢?cè)敿?xì)CPU信息 | lscpu |
| 查詢物理內(nèi)存 | free -h |
| 查詢內(nèi)存詳細(xì)信息 | cat /proc/meminfo |
| 一鍵獲取CPU和內(nèi)存 | `echo "CPU: $(nproc) |
到此這篇關(guān)于CentOS系統(tǒng)下快速獲取CPU核心數(shù)與內(nèi)存大小的完整指南的文章就介紹到這了,更多相關(guān)CentOS查詢系統(tǒng)資源內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
用DNSPod和Squid打造自己的CDN (六) 編譯并安裝Squid
這篇文章主要介紹centos下編譯并安裝Squid的方法,需要的朋友可以參考下2013-04-04
Ubuntu下開啟Apache對(duì).htaccess 的支持
這篇文章主要介紹了Ubuntu下開啟Apache對(duì).htaccess 的支持的方法,已經(jīng)在xampp開啟ModRewrite的方法,非常的實(shí)用,推薦給大家,希望大家能夠喜歡。2015-03-03
CentOS7下 yum方式安裝Nginx的實(shí)現(xiàn)步驟
這篇文章主要介紹了CentOS7下 yum方式安裝Nginx的實(shí)現(xiàn)步驟的相關(guān)資料,希望通過本文能幫助到大家,需要的朋友可以參考下2017-10-10

