最近在复习linux系统负载问题排查,主要涉及到cpu,内存,io,网络等指标的一些习惯的linux命令,发现top命令的load average指标和vmstat指标的r列以及b列似乎有些联系,但是又搞不懂具体是什么关系,又有什么区别,于是便上网查询整理了一下,以便日后学习工作中再次用到
# 一、vmstat 的 r 列 含义
vmstat 输出示例(关注前几列):
点击查看代码- procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
- r b swpd free buff cache si so bi bo in cs us sy id wa st
- 2 1 123456 123456 123456 123456 0 0 10 20 100 200 10 5 80 5 0
复制代码 r(running or runnable):
表示处于运行态(running)或就绪态(runnable)的进程数,即正在使用 CPU 或等待 CPU 调度的进程数量。
✅ 不包括处于不可中断睡眠(D 状态)的进程。
b(blocked):
在较老版本的 vmstat 中,b 表示阻塞等待资源的进程数。
⚠️ 但在现代 Linux(自 procps-ng 修订后)中,b 列实际上表示的是处于不可中断睡眠状态(TASK_UNINTERRUPTIBLE)的进程数,即通常所说的“D 状态”进程(如等待磁盘 I/O)。
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |