cat /proc/stat Linux系统统计信息分析

pi@raspberrypi:~$ cat /proc/stat

cpu 2164 1 2011 286493 3370 0 98 0 0 0 cpu0 635 1 602 71192 846 0 67 0 0 0 cpu1 548 0 478 71675 860 0 8 0 0 0 cpu2 527 0 460 71793 831 0 12 0 0 0 cpu3 454 0 471 71832 832 0 11 0 0 0 intr 365748 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 946 1564 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 394 0 6105 0 0 0 0 355 337 0 0 3633 0 0 231342 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 304 0 0 417 7582 0 0 0 0 27438 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 28936 0 0 0 0 ctxt 170398 btime 1754536859 processes 1129 procs_running 1 procs_blocked 0 softirq 115432 12480 19284 152 2006 6140 0 35834 18414 0 21122。

/proc/stat 是 Linux 内核提供的一个非常重要的接口,用于监控系统运行状态。它包含了 CPU 使用情况、中断、上下文切换、启动时间、进程统计等信息。下面我来逐项解释:

🧠 1. CPU 使用情况

text

cpu  2164 1 2011 286493 3370 0 98 0 0 0

这是所有 CPU 核心的总和,后面是各个时间项的累计“jiffies”(时间单位,通常是 1/100 秒):

字段位置名称含义
1user用户态运行时间(不含 nice)
2nice用户态运行时间(nice 优先级)
3system内核态运行时间
4idle空闲时间
5iowait等待 I/O 的时间
6irq硬中断时间
7softirq软中断时间
8steal被虚拟机偷走的时间(通常为 0)
9guest客户虚拟机运行时间
10guest_nice客户虚拟机 nice 时间

每个 cpuN 行表示对应核心的统计:

text

cpu0 635 1 602 71192 846 0 67 0 0 0
cpu1 548 0 478 71675 860 0 8 0 0 0
cpu2 527 0 460 71793 831 0 12 0 0 0
cpu3 454 0 471 71832 832 0 11 0 0 0

你可以看到每个核心的使用情况略有不同,说明系统在多核之间分配任务是比较均衡的。

⚡ 2. 中断统计

text

intr 365748 ...
  • intr 后面是每个中断号的累计次数。

  • 第一个数字是所有中断的总数(365748)。

  • 后面是每个中断号的计数,例如 946 是中断号 18 的触发次数。

这可以用于分析硬件设备的活跃度,比如网卡、USB、GPIO 等。

🔄 3. 上下文切换

text

ctxt 170398
  • 表示系统发生了 170,398 次上下文切换。

  • 上下文切换是指 CPU 从一个进程切换到另一个进程,频繁切换可能影响性能。

⏱️ 4. 系统启动时间

text

btime 1754536859
  • 表示系统启动的时间戳(自 Unix epoch 起的秒数)。

  • 可以用 date -d @1754536859 转换为人类可读时间。

🧵 5. 进程统计

text

processes 1129
procs_running 1
procs_blocked 0
字段含义
processes启动过的进程总数(1129)
procs_running当前正在运行的进程数(1)
procs_blocked当前阻塞等待 I/O 的进程数(0)

🌊 6. 软中断统计

text

softirq 115432 12480 19284 152 2006 6140 0 35834 18414 0 21122

软中断是内核处理异步事件的一种机制,后面是每种软中断类型的触发次数:

位置类型含义
0HI高优先级任务
1TIMER定时器
2NET_TX网络发送
3NET_RX网络接收
4BLOCK块设备
5IRQ_POLL中断轮询
6TASKLET任务片
7SCHED调度器
8HRTIMER高精度定时器
9RCURead-Copy-Update

🧭 总结

你可以用这些数据来:

  • 分析 CPU 使用率和负载分布

  • 监控硬件中断和软中断活跃度

  • 评估系统是否频繁上下文切换

  • 判断是否有进程阻塞或资源瓶颈

如果你想实时监控这些指标,可以使用 vmstat, iostat, mpstat, 或 sar 等工具。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值