linux硬盘%iowait怎样降低

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux硬盘%iowait怎样降低相关的知识,希望对你有一定的参考价值。

问题关键是一个是的确不停在读写硬盘,这种情况下要注意程序来控制,这种不停频繁的读写不但影响效率,还很易引起硬盘挂掉(一些不正常的不停读写有无节制的写日志等等)
另外业务量太高也会引起这类情况,要注意硬盘RAID等来分担任务。

另外一种就是业务不多,但硬盘速度太慢导致的。这种情况要研究这种硬盘会不会挂掉了。
参考技术A 综合因素太多了。你要描述清楚 参考技术B 硬盘的读写, 增大缓存? 参考技术C Until高不高,查看是哪个磁盘读的高?

markdown linux cpu iowait的理解

# linux cpu iowait的理解

在其他地方可能会简写为`wa`、`wio`。
在linux中解释为
```
Percentage of time that the CPU or CPUs were idle during 
which the system had an outstanding disk I/O request.
```
从字面理解就是:有多少的CPU时间占比是属于 **CPU空闲且还有未完成的IO请求** 这种状态

iowait本质上也是cpu空闲的一种, iowait低证明不了应用的瓶颈不在IO上,
同样的iowait高也不一定能反应应用的瓶颈在IO上,但可以作为一个侦查的方向,
这就好比体检报告,说某个指标异常但又附带了句也有可能出现在正常人身上。

举个餐厅的小例子:

当餐厅客人不多的时候,服务员(CPU)可能就会站在正在点餐的客人旁边,关注客人的点餐,
客人一点完餐就会立即去录单和推到后厨了,这段服务员花的时间就相当于iowait

当餐厅客人多的时候,服务员忙着去上菜,无暇去关注正在点餐的客人,甚至客人点完餐了,还要主动叫服务员(软中断)
这时服务员的时间就基本没花在关注正在点餐的客人身上,虽说没iowait了,但不代表没客人点餐

可参考歪果仁写的[这篇博客](https://blog.pregos.info/wp-content/uploads/2010/09/iowait.txt),
以下是截的一段cpu各指标的计算逻辑
```
The tools print out the statistics using counters that the
kernel updates periodically (on AIX, these CPU state counters
are incremented at every clock interrupt (these occur
at 10 millisecond intervals).
When the clock interrupt occurs on a CPU, the kernel
checks the CPU to see if it is idle or not. If it's not
idle, the kernel then determines if the instruction being
executed at that point is in user space or in kernel space.
If user, then it increments the 'user' counter by one. If
the instruction is in kernel space, then the 'sys' counter
is incremented by one.

If the CPU is idle, the kernel then determines if there is
at least one I/O currently in progress to either a local disk
or a remotely mounted disk (NFS) which had been initiated
from that CPU. If there is, then the 'iowait' counter is
incremented by one. If there is no I/O in progress that was
initiated from that CPU, the 'idle' counter is incremented
by one.
```

以上是关于linux硬盘%iowait怎样降低的主要内容,如果未能解决你的问题,请参考以下文章

Linux中怎样格式化硬盘

linux下怎样查看硬盘型号和硬盘序列号的相关推荐

linux系统硬盘在哪里,怎样查看

修改linux swap空间的swappiness,降低对硬盘的缓存

linux怎样查看硬盘使用情况

linux下的磁盘管理