在Linux / EC2上iowait(顶部的%wa)中实际占用的CPU是多少?

前端之家收集整理的这篇文章主要介绍了在Linux / EC2上iowait(顶部的%wa)中实际占用的CPU是多少?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在具有8个EBS卷和大量磁盘流量的8路Amazon EC2实例(运行 Linux 2.6.21)上,我们看到高端%(30-40%)和高负载平均值(8-9).我的理解是,等待来自EBS卷的I / O的进程计入负载平均值(ps显示D状态中的几个进程,大约与负载平均值一样多).

但是,目前还不清楚%wa意味着什么.是否实际占用cpu等待来自EBS卷的响应,或者内核是否在其上安排了另一个进程?我希望能安排另一个程序;但后来我不明白为什么iowait时间会表示为总cpu时间的百分比(除非百分比加起来超过100%).

只要我们没有最大限度地提高EBS卷的I / O容量,我就不用担心了,但是如果cpu被等待I / OI认为我的机器将耗尽cpu容量而在用尽之前/ O容量.

解决方法

只要至少有一个进程准备好接收cpu时间,cpu就可以并将用于其他进程.有一个问题 – 您可以拥有一个I / O绑定系统,每个进程都在等待I / O完成,并且由于没有任何时间等待cpu时间,因此没有理由安排(并利用)cpu以用于除内核的活动…因此术语,I / O等待.

尝试运行vmstat 1并定期查看“b”列(第2列)中是否有大于0的数字.如果是这样,你可能是I / O绑定的.偶尔看到它并不是什么大不了的事,一直看到它在2-3范围内的数字是可以忍受的但是不可取,并且看到超过5意味着你可能太忙了(虽然这取决于我有多少/ O您的系统可以容纳,因此它可以或多或少,取决于). “b”表示“进程被阻止”,如“计划运行的进程数,但在I / O完成之前被阻止”.

跟进:

There is a known bug with heavy I/O and the newer schedulers on the 2.6 series of kernels.尝试更改计划程序以查看它是否有影响.

猜你在找的Linux相关文章