这两天,我遇到了一个很奇怪的问题。当我解压一个大文件时,iowait变得非常高,超过70%的时候我执行iotop,结果得到了3个高IO的进程
gzip -d filename
[flush-202:1]
[jbd2/xvda1-8]
当进程运行时,可用内存(RAM)仍然在 4gb 左右。因此,所有进程都成为瓶颈,使服务器变慢。但在提取文件完成后,这两个进程仍然存在 [flush-202:1] 和 jbd2/xvda1-8],并且 IO 很高。
我尝试从此 EC2 创建 AMI 并使用此 AMI 启动新实例,但结果仍然相同。iowait 仍然很高。
有人遇到过同样的问题吗?
感谢您的帮助。
注意:服务器使用 Amazon Linux,3.4.48-45.46.amzn1.x86_64 运行。
答案1
这听起来很正常。如果您要求服务器执行大量 I/O,则 I/O 会变慢,因为进程必须等待轮到它们。如果您愿意减慢解压缩速度以保持较高的响应速度,则可以使用ionice
或 来实现ratepipe
。