我运行的EC2实例的EBS卷作为系统磁盘,第二个实例作为数据磁盘,均为SSD GP2。它们在最新的Centos 7上运行。
我的监视系统连续90%以上的I / O繁忙时间报告系统磁盘(变化很小,但始终保持很高)。但是,系统按预期方式运行,该磁盘上的活动很少(每秒1至3个I / O调用之间),而且奇怪的是,如果我强制执行I / O活动,则忙碌时间会急剧减少。
挖掘问题,似乎I / O繁忙时间报告取决于...要观察的实际采样时间。为了更准确,如果我运行:
while grep "$DEVICE_NAME " /proc/diskstats; do sleep 30; done | awk '{print $13-last;last=$13}'
它报告很高的I / O时间。如果运行:
while grep "$DEVICE_NAME " /proc/diskstats; do sleep 1; done | awk '{print $13-last;last=$13}'
I / O时间减少并正确反映了实际活动。现在,如果我同时并行运行这两个命令,那么第一个命令也会报告较低的I / O时间。
如果重新启动计算机,则该行为仍然存在。我怀疑如果停止并通过AWS API调用或从控制台启动它,它可能会消失,因为它可能会落在其他硬件上。我不想这样做,以防万一我可以进一步挖掘,但是我怀疑我不能。
这可能导致什么?可以是AWS Nitro驱动程序吗?硬件上有邻居吗?