Linux查看CPU信息

Linux查看CPU信息

引言

服务器扩容、压测、排查性能瓶颈前,先要知道机器几颗CPU、多少核、主频和架构。/proc/cpuinfo是内核暴露的原生信息,配合lscpu、nproc能快速拿到规格,top/mpstat再看实时占用。

lscpu看汇总

lscpu

一次列出架构、颗数、每颗核数、线程数、主频、缓存,最简洁。

nproc看逻辑核数

nproc

直接输出可用逻辑CPU数,脚本里取核数最方便。

读/proc/cpuinfo

cat /proc/cpuinfo

每颗逻辑核一段,看model name型号、cpu MHz频率、flags指令集。

统计物理颗数和核数

# 物理CPU颗数
grep "physical id" /proc/cpuinfo | sort -u | wc -l
# 每颗物理核数
grep "cpu cores" /proc/cpuinfo | uniq
# 逻辑核总数
grep -c processor /proc/cpuinfo

物理颗数×每颗核数×超线程=逻辑核数。

实时CPU占用

top
mpstat 1

top看整体和进程,mpstat每秒采样看用户态、系统态、idle占比。

注意事项

  • 云主机看到的是分配的vCPU,不一定是物理独占;
  • 超线程逻辑核不等于物理性能翻倍;
  • flags里看是否支持虚拟化、AVX等指令集;
  • 排查高占用先top按P按CPU排序找进程;
  • 结合uptime看负载和核数是否匹配;
  • lscpu在大部分发行版预装,无此命令再读/proc。

总结

规格用lscpu看汇总、nproc取核数、/proc/cpuinfo读型号和指令集,配合grep统计物理颗数与核数,实时占用用top和mpstat。压测和扩容前先分清物理核、逻辑核和超线程,避免按vCPU误判真实算力。


emer 发布于  2026-10-19 07:32 

Docker查看容器资源占用,stats命令

前言

容器跑多了,哪个占CPU、哪个占内存,一眼看出来。本文讲Docker stats命令。

一、基本用法

查看所有运行中的容器

docker stats

输出:

CONTAINER ID   NAME       CPU %   MEM USAGE / LIMIT   MEM %   NET I/O   BLOCK I/O   PIDS
a1b2c3d4e5f6   mysql      2.50%   500MiB / 2GiB       25.0%   1MB/2MB   10MB/5MB    30
f7e8d9c0b1a2   nginx      0.10%   20MiB / 2GiB        1.0%    5MB/3MB   1MB/0B      5

列解释

  • CPU %:CPU使用率
  • MEM USAGE / LIMIT:内存使用 / 内存限制
  • MEM %:内存使用率
  • NET I/O:网络收发流量
  • BLOCK I/O:磁盘读写
  • PIDS:进程数

二、查看单个容器

docker stats 容器名

只看某一个容器。

三、只看一次,不刷新

默认是实时刷新的,按Ctrl+C退出。

只看一次:

docker stats --no-stream

四、自定义格式

只看CPU和内存

docker stats --format "table {{.Name}}\t{{.CPUPerc}}\t{{.MemUsage}}"

JSON格式输出

docker stats --format json --no-stream

五、其他常用命令

查看容器占用磁盘

docker system df

查看单个容器磁盘占用

docker ps -s

看SIZE列,就是容器写的磁盘大小。

查看容器网络IO

docker stats --no-stream

看NET I/O列。

六、常见场景

场景1:哪个容器占CPU高?

docker stats

看CPU %列,高的那个就是。

场景2:哪个容器占内存高?

看MEM USAGE列。

场景3:某个容器网络流量大

看NET I/O列。

七、限制容器资源

跑的时候可以限制CPU和内存:

限制内存512M

docker run -d --memory 512m nginx

限制CPU 0.5核

docker run -d --cpus 0.5 nginx

同时限制

docker run -d \
  --memory 512m \
  --cpus 0.5 \
  nginx

八、常见坑

坑1:stats一直刷新,退不出来

按Ctrl+C退出。

坑2:看不准CPU使用率

Docker stats显示的是CPU使用率百分比,多核的话可能超过100%(比如4核跑满就是400%)。

坑3:内存看的是驻留内存

MEM USAGE是容器实际用的内存,包括缓存。

坑4:容器挂了,stats看不到了

docker stats

只看运行中的容器,停止的看不到。

总结

记住:

  1. docker stats 看所有运行中的容器资源占用
  2. 看CPU、内存、网络、磁盘IO
  3. --no-stream 只看一次
  4. 跑容器时可以限制资源

最常用:

docker stats

遇到问题加QQ23979811 协助处理


emer 发布于  2026-10-8 08:22 
'); })();