Linux 查看CPU内存信息,这几条命令够用了
群里经常有人问怎么看CPU、内存,其实就那么几条命令,记牢了走遍天下。直接上干货。
CPU信息
1. lscpu
最直观,没有之一。
lscpu
输出关键字段:
– CPU(s): 总逻辑核数
– Thread(s) per core: 每核线程数(超线程)
– Core(s) per socket: 每颗物理CPU核数
– Socket(s): 物理CPU颗数
– Model name: 具体型号
2. cat /proc/cpuinfo
更底层,适合写脚本。
cat /proc/cpuinfo | grep "processor" | wc -l # 逻辑核数
cat /proc/cpuinfo | grep "cpu cores" | uniq # 物理核数
3. 实时CPU负载
top -bn1 | grep "Cpu(s)" # 一次快照
mpstat -P ALL 1 3 # 每核详细,需要sysstat包
内存信息
1. free -h
日常够用,-h是友好显示。
free -h
重点看:
– total: 总内存
– available: 可用内存(这才是真实可用的)
– swap: 交换分区使用情况
2. cat /proc/meminfo
详细到令人发指,适合排查内存泄漏。
cat /proc/meminfo | grep -E "MemTotal|MemFree|MemAvailable|Buffers|Cached"
3. 进程内存占用
ps aux --sort=-%mem | head -10 # 内存TOP10
top -o %MEM # top里按M排序
组合拳(实用场景)
快速判断是否超线程
# 逻辑核数 / 物理核数 = 2 就是超线程
echo "逻辑核: $(nproc), 物理核: $(lscpu | grep 'Core(s) per socket' | awk '{print $4}')"
内存到底够不够
# 真实可用内存 = available + swap可用
free -h | awk 'NR==2{print "可用内存: "$7}'
查看内存条物理信息
sudo dmidecode -t memory | grep -E "Size|Type|Speed|Manufacturer"
几个坑
- free命令里的”used”不要直接信。Linux会把空闲内存拿来做缓存,所以看available。
- /proc/cpuinfo里的processor编号是逻辑核,不是物理编号。
- 云服务器lscpu的Socket(s)可能是1,即使有多个核,虚拟化下通常只暴露一个socket。
速查表
| 需求 | 命令 |
|---|---|
| CPU型号/核数 | lscpu |
| 实时CPU负载 | top/mpstat |
| 内存总量/可用 | free -h |
| 内存详细信息 | cat /proc/meminfo |
| 进程内存排序 | ps aux –sort=-%mem |
| 物理内存条信息 | dmidecode -t memory |
就这些,记不住就收藏,用多了自然就记住了。有问题群里喊。
💻 安全运维 / Linux运维 / 渗透测试 技术支持
业务需求可联系博客作者
