CentOS系統(tǒng)下快速獲取CPU核心數(shù)與內存大小的完整指南
引言
在Linux服務器管理和性能優(yōu)化中,了解系統(tǒng)的硬件資源(如CPU核心數(shù)、內存大?。┦侵陵P重要的。無論是部署應用程序、調試性能瓶頸,還是進行容量規(guī)劃,掌握這些基本信息都能幫助我們更高效地管理服務器。
CentOS(Community Enterprise Operating System)作為一款廣泛使用的企業(yè)級Linux發(fā)行版,提供了多種命令行工具來查詢系統(tǒng)資源。本文將詳細介紹如何在CentOS系統(tǒng)中快速、準確地獲取CPU核心數(shù)和內存大小,并通過實際命令示例和解釋幫助讀者掌握這些技巧。
1. 查詢CPU核心數(shù)
CPU核心數(shù)直接影響系統(tǒng)的并行計算能力,因此我們需要知道服務器的物理核心數(shù)和邏輯核心數(shù)(即線程數(shù))。
1.1 使用lscpu命令
lscpu
是Linux下最常用的CPU信息查詢工具,能夠顯示詳細的CPU架構、核心數(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
...
關鍵字段解析:
CPU(s)
:邏輯CPU數(shù)量(總線程數(shù) = 物理核心數(shù) × 每核線程數(shù))。Thread(s) per core
:每個物理核心支持的線程數(shù)(超線程技術下通常為2)。Core(s) per socket
:每個CPU插槽的物理核心數(shù)。Socket(s)
:物理CPU插槽數(shù)量(服務器通常有1或2個)。
計算方式:
- 總物理核心數(shù) =
Socket(s) × Core(s) per socket
(示例中:1 × 4 = 4
個物理核心) - 總邏輯核心數(shù)(線程數(shù)) =
CPU(s)
(示例中:8
個邏輯線程)
1.2 使用nproc命令
如果只需要快速獲取邏輯CPU核心數(shù),可以使用 nproc
命令:
nproc
輸出示例:
8
1.3 使用/proc/cpuinfo
Linux的 /proc/cpuinfo
文件存儲了詳細的CPU信息,我們可以用 grep
提取關鍵數(shù)據(jù):
cat /proc/cpuinfo | grep "processor" | wc -l
這條命令會返回邏輯CPU數(shù)量(等同于 nproc
)。
2. 查詢內存大小
內存大小直接影響系統(tǒng)能運行的進程數(shù)量和服務性能,我們可以通過多種方式查詢內存信息。
2.1 使用free命令
free
是最常用的內存查詢工具,可以顯示物理內存和交換分區(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
關鍵字段解析:
Mem: total
:總物理內存(示例中為15GB)。available
:系統(tǒng)可用內存(包括緩存和緩沖區(qū))。Swap: total
:交換分區(qū)大小。
2.2 使用/proc/meminfo
Linux的 /proc/meminfo
文件記錄了詳細的內存信息,我們可以直接讀?。?/p>
cat /proc/meminfo | grep MemTotal
輸出示例:
MemTotal: 16248576 kB # 約15.5GB
2.3 使用dmidecode(需root權限)
如果需要查詢更詳細的硬件信息(如內存插槽、型號等),可以使用 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ù)和內存大小,可以使用以下命令組合:
echo "CPU Cores: $(nproc) | Memory: $(free -h | awk '/Mem:/ {print $2}')"
輸出示例:
CPU Cores: 8 | Memory: 15G
4. 進階查詢技巧
4.1 檢查NUMA架構(多CPU服務器)
在高端服務器上,CPU和內存可能采用NUMA(Non-Uniform Memory Access)架構,可以使用:
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型號和頻率
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)境下的資源查詢
在云服務器(如AWS、阿里云)上,lscpu
可能顯示的是虛擬化后的CPU核心數(shù),實際資源可能受限于云服務商配額??梢允褂茫?/p>
# 檢查cgroup限制(容器/K8s環(huán)境) cat /sys/fs/cgroup/cpu/cpu.cfs_quota_us cat /sys/fs/cgroup/memory/memory.limit_in_bytes
6. 總結
本文介紹了在CentOS系統(tǒng)中查詢CPU核心數(shù)和內存大小的多種方法,包括:
- CPU查詢:
lscpu
、nproc
、/proc/cpuinfo
- 內存查詢:
free
、/proc/meminfo
、dmidecode
- 快速匯總:
echo "CPU: $(nproc) | Memory: $(free -h)"
- 進階技巧:NUMA架構、CPU型號檢查
掌握這些命令后,你可以快速評估服務器硬件資源,優(yōu)化應用部署,提高系統(tǒng)管理效率。
附錄:常用命令速查表
用途 | 命令 |
---|---|
查詢邏輯CPU核心數(shù) | nproc |
查詢詳細CPU信息 | lscpu |
查詢物理內存 | free -h |
查詢內存詳細信息 | cat /proc/meminfo |
一鍵獲取CPU和內存 | `echo "CPU: $(nproc) |
到此這篇關于CentOS系統(tǒng)下快速獲取CPU核心數(shù)與內存大小的完整指南的文章就介紹到這了,更多相關CentOS查詢系統(tǒng)資源內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
linux Cron定時執(zhí)行帶參數(shù)的PHP代碼
前面有篇文章簡單介紹了了cPanel控制面板下如何使用時鐘守護作業(yè)的方法,但有時,我們希望執(zhí)行帶參數(shù)的php代碼,即如何傳遞參數(shù)給cron,飄易分享下方法如下2021-07-07安裝redhat 8.0紅帽系統(tǒng)的圖文教程(小白必備)
這篇文章主要介紹了安裝redhat 8.0紅帽系統(tǒng)的圖文教程(小白必備),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-12-12