在 Linux 系统中,/proc/stat
文件的典型输出包含如下几类信息。以一个常见的 cat /proc/stat
输出为例:
cpu 3357 0 4313 1362393 3 0 234 0 0 0
cpu0 1132 0 1232 340293 1 0 64 0 0 0
cpu1 945 0 1021 341593 1 0 117 0 0 0
cpu2 788 0 1005 342394 1 0 31 0 0 0
cpu3 491 0 1053 338111 1 0 21 0 0 0
intr 1142920 1132343 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ctxt 199047
btime 1615737893
processes 2915
procs_running 2
procs_blocked 0
softirq 82357 3 24672 1 9834 4 0 5327 0 28341 1075
具体解释如下:
-
CPU 使用统计
cpu
:表示所有 CPU 核心的总和。后面的数字依次表示不同状态下的 CPU 时间,单位是 jiffies:3357
:用户态时间(user
)。0
:低优先级用户态时间(nice
)。4313
:系统态时间(system
)。1362393
:空闲时间(idle
)。3
:I/O 等待时间(iowait
)。0
:硬件中断处理时间(irq
)。234
:软件中断处理时间(softirq
)。0
:虚拟机客态时间(steal
)。0
:虚拟机运行的时间(guest
)。
0
:nice 值影响下的虚拟机运行时间(guest_nice
)。
cpu0, cpu1, cpu2, cpu3
:分别表示每个 CPU 核心的统计信息,后面的数字与总的cpu
字段格式相同,含义一致。
-
中断统计
intr
:表示自系统启动以来发生的中断总数。后面的数字依次表示特定中断类型的计数,1142920
是所有中断的总和,1132343
表示其中某一种中断的数量。
-
上下文切换统计
ctxt
:表示自系统启动以来发生的上下文切换次数。在上面的例子中,199047
表示发生了 199047 次上下文切换。
-
系统启动时间
btime
:表示系统启动的时间戳。在这个例子中,1615737893
是系统启动的 Unix 时间戳,可以转换为具体的日期和时间。
-
进程统计
processes
:表示自系统启动以来创建的进程总数。在这个例子中,系统启动以来创建了 2915 个进程。procs_running
:当前正在运行的进程数。此处为 2。procs_blocked
:当前被阻塞的进程数。此处为 0。
-
软中断统计
softirq
:自系统启动以来的软中断统计,82357
是总的软中断处理次数,后面的数字分别表示各类软中断的具体处理数量(比如,24672 代表特定类型软中断的处理次数)。
这些是 /proc/stat
中的典型输出字段,用于系统性能监控和分析。