iowait 值多少合适?

iowait 值多少合适?

我正在尝试查找运行相当繁忙的 php/mysql 站点的服务器的瓶颈。我的第一个罪魁祸首是 io,但 iostat 显示 iowait 平均只消耗 %3.60 的 CPU 时间。以下是发出 iostat 的完整结果:

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
          65.78    0.00    8.52    3.60    0.00   22.10

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda              42.36       138.28      1754.70  408630278 5185216128

所以我想知道 iowait 是否在可接受的范围内,如果不在,那么从 SATA 切换到 SSD 是否会显著减少它?

答案1

iowait作为系统负载的衡量标准,只有在它占用了其他进程可以合理使用的 CPU 时间时才会出现问题。如果您仍有空闲的 CPU 时间,那么高iowait(就其本身而言)并不是问题。

另一方面,高iowait 这可能是问题的征兆;但是,您确实应该分析应用程序,看看磁盘 I/O 所花费的时间是否占完成有用任务所花费总时间的很大一部分。您无法通过查看 CPU 统计数据、、、或人们会尝试推荐的任何其他系统级工具来做到这一点tophtopiotop需要查看你的申请,以及它的工作方式,以确定更改磁盘 I/O 子系统是否会对您的应用程序有任何好处。

答案2

磁盘利用率更重要,你可以用以下方法测量:

iostat -xm 5

可能会接近 100%

相关内容