小编Alc*_*ist的帖子

CPU 如何知道有 IO 挂起?

我一直iowait在研究顶部实用程序输出中显示的属性,如下所示。

top - 07:30:58 up  3:37,   1 user,  load average: 0.00, 0.01, 0.05
Tasks:  86 total,   1 running,   85 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.3 sy,  0.0 ni, 99.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
Run Code Online (Sandbox Code Playgroud)

iowait 一般定义如下:

“这是 CPU 空闲且有一些 IO 待处理的时间。”

我的理解是一个进程在单个 CPU 上运行。在它因为已用完时隙或被阻塞而被取消调度后,它最终可以再次在任何一个 CPU 上再次调度。

在 IO 请求的情况下,将进程置于不间断睡眠状态的 CPU 负责跟踪iowait时间。其他 CPU 将报告与它们的空闲时间相同的时间,因为它们确实处于空闲状态。这个假设正确吗?

此外,假设有一个很长的 IO 请求(意味着进程有几次被调度的机会,但由于 IO 未完成而没有被调度),CPU 怎么知道有“待处理的 IO”?这种信息是从哪里获取的?CPU 怎么能简单地发现某个进程在一段时间内进入睡眠状态以完成 IO,因为任何 CPU 都可以使该进程进入睡眠状态。“待处理 IO”的状态是如何确认的?

linux cpu top load-average

17
推荐指数
1
解决办法
3759
查看次数

如何检查RPM包使用什么压缩类型?

我最近意识到 RPM 软件包几年前从 gzip 压缩转变为 xz 压缩。我需要检查我拥有的 RPM 包的压缩类型。我还需要检查我的系统在尝试解压 RPM 文件时考虑的压缩类型。

rpm gzip oracle-linux xz

4
推荐指数
1
解决办法
5569
查看次数

标签 统计

cpu ×1

gzip ×1

linux ×1

load-average ×1

oracle-linux ×1

rpm ×1

top ×1

xz ×1