今天我有一个 linux 系统,在 vmstat 等待列中 100% 等待。
我的问题是:处理器在等待 I/O 时究竟做了什么?
据我了解,cpu 真的等不及了——它必须运行一些代码!那么它是否正在运行一些严格的“等到磁盘中断到来”代码?为什么它不运行其他代码并在磁盘中断到达时返回?
据我所知,磁盘太慢了,以至于 cpu 可以做很多很多周期,直到磁盘准备好。
为什么 linux 让 cpu 等到 I/O 完成而不是让它做一些工作?
托马斯
linux linux-kernel
linux ×1
linux-kernel ×1