在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.尝试更改计划程序以查看它是否有影响.

相关文章

1、安装Apache。 1)执行如下命令,安装Apache服务及其扩展包...
一、先说一下用ansible批量采集机器信息的实现办法: 1、先把...
安装配置 1. 安装vsftpd 检查是否安装了vsftpd # rpm -qa | ...
如何抑制stable_secret读取关键的“net.ipv6.conf.all.stabl...
1 删除0字节文件 find -type f -size 0 -exec rm -rf {} ...
## 步骤 1:安装必要的软件包 首先,需要确保系统已安装 `dh...