I/O 等待时平均负载较高

I/O 等待时平均负载较高

我的服务器每隔几分钟就会出现非常高的平均负载峰值(>10,有时甚至>20)。

top 显示 CPU 未被使用但正在等待 I/O 操作:

top - 17:42:28 up 8 days,  8:10,  1 user,  load average: 9.01, 10.16, 6.54
Cpu0  :  0.0%us,  0.0%sy,  0.0%ni,  0.0%id,100.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu1  :  0.0%us,  0.0%sy,  0.0%ni,  0.0%id,100.0%wa,  0.0%hi,  0.0%si,  0.0%st

dmesg 一遍又一遍地显示这个输出(我不明白这是什么意思):

ata2.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2
ata2.00: BMDMA stat 0x26
ata2.00: cmd ca/00:08:74:c4:24/00:00:00:00:00/ef tag 0 dma 4096 out
         res 51/84:01:7b:c4:24/84:00:10:00:00/ef Emask 0x30 (host bus error)
ata2.00: status: { DRDY ERR }
ata2.00: error: { ICRC ABRT }
ata2: soft resetting link
ata2.00: configured for UDMA/33
ata2: EH complete
sd 3:0:0:0: [sdb] 625142448 512-byte hardware sectors (320073 MB)
sd 3:0:0:0: [sdb] Write Protect is off
sd 3:0:0:0: [sdb] Mode Sense: 00 3a 00 00
sd 3:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA

有任何想法吗?

服务器上正在运行 FreeRADIUS,我怀疑 RADIUS 或网络适配器都可能导致问题。在某些峰值期间,tcpdump 显示发送/接收的 RADIUS 数据包数量增加(但我说的是每分钟数十个数据包,而不是数千个)。

当我停止 RADIUS 时情况会好转,但仍然会出现周期性的负载平均峰值(但更容易忍受)。

有人知道是什么原因导致了这种行为吗?我如何才能确定是 RADIUS、网络适配器还是其他什么原因?

谢谢

答案1

不,这是因为一个磁盘或磁盘控制器坏了。这与您正在运行的软件或网络适配器无关。

如果您尚未进行备份 - 请立即进行备份并开始寻找替换硬件。

答案2

类似这样的几乎相同的问题已发布在 SU 上

在重新启动或修改设置之前 - 请尽快进行备份(并进行奇偶校验!)。

相关内容