我的服务器每隔几分钟就会出现非常高的平均负载峰值(>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 上
在重新启动或修改设置之前 - 请尽快进行备份(并进行奇偶校验!)。