在 Debian 下,cpustat 通常指两种东西之一,下面分别说明怎么“读数据”。
cpustat(来自 cpustat 包)sudo apt update
sudo apt install cpustat
sudo cpustat
默认会:
示例输出类似:
CPU %usr %sys %nice %idle %iowait %irq %soft %steal
0 12.3 5.1 0.0 82.6 0.0 0.0 0.0 0.0
1 20.1 3.2 0.0 76.7 0.0 0.0 0.0 0.0
sudo cpustat -T 5 # 每 5 秒采样
sudo cpustat -p # 显示进程级 CPU 使用
sudo cpustat -c # 显示 CPU 汇总
sudo cpustat -n 10 # 显示前 10 个进程
%usr:用户态 CPU%sys:内核态 CPU%idle:空闲%iowait:等待 IO%irq/%soft:中断%steal:虚拟机被抢走的 CPU/proc/stat(最底层“cpustat 数据”)很多工具(包括 top、mpstat)都读这个文件。
cat /proc/stat
示例:
cpu 1000 0 500 9000 100 0 0 0
cpu0 500 0 250 4500 50 0 0 0
cpu1 500 0 250 4500 50 0 0 0
cpu user nice system idle iowait irq softirq steal
单位是 jiffies(时钟 tick)
# 第一次
cat /proc/stat | grep ^cpu
# 等 1 秒
sleep 1
# 第二次
cat /proc/stat | grep ^cpu
公式:
total = user+nice+system+idle+iowait+irq+softirq+steal
usage% = (total_delta - idle_delta) / total_delta * 100
sudo apt install sysstat
mpstat 1
或:
top
htop
如果你能贴一下你看到的 具体输出或命令,我可以帮你逐行解释数据含义。