什么原因导致 CPU I/O 等待但没有磁盘操作?

什么原因导致 CPU I/O 等待但没有磁盘操作?

我的 CPU I/O 等待时间稳定在 50% 左右,但运行时却iostat 1几乎没有显示磁盘活动。

什么原因导致没有 iops 的等待?

注意:这里没有 NFS 或 FUSE 文件系统,但它使用 Xen 虚拟化。

在此处输入图片描述

答案1

NFS 可以做到这一点,如果其他网络文件系统(甚至基于 FUSE 的设备)具有类似的效果,我不会感到惊讶。

答案2

服务器上的其他虚拟机是否有可能破坏磁盘?

我知道,如果主机节点超载,虚拟化就会产生一些奇怪的结果。

答案3

如果这是使用基于实例的存储的 Amazon EC2 Xen 环境,请要求 Amazon 检查包含此映像的主机的运行状况。

如果这是您可以访问虚拟机管理程序的 Xen 环境,则请从外部检查用于 xvda 和 xvdb 设备的磁盘映像(文件、网络、LVM 切片等)的 IOwait。您还需要检查虚拟机管理程序的 I/O 系统,因为其他磁盘设备可能会独占系统的资源。

iostat -txk 5

通常是一个很好的入门诊断工具。它会在 5 秒内汇总所有可用设备的 I/O,因此无论是否在 VM 映像中都很有用。

答案4

sudo sysctl vm.block_dump=1

然后检查 dmesg 以查看正在执行块读取/写入或弄脏 inode 的内容。

还要检查 limits.conf 中的 nofile 限制,进程请求的文件数量可能超出其允许打开的文件数量。

相关内容