解决1037U主机Buffer I/O error on /dev/sdb1 (…) async page read问题

问题

一直一来,我的迷你主机总是会在启动阶段或者莫名其妙的在任意时刻出现内置的SATA固态硬盘sda的Buffer I/O error问题,另外也会随机出现外置USB3.0磁盘的Buffer I/O error on /dev/sdb1 (...) async page read问题,一旦出现,设备就会失去响应或磁盘进入只读状态,必须断电重启设备才能恢复。这该如何处理?

尝试

之前失败的尝试

我曾经试了很多方法。
有网上的猜测是磁盘有问题,我试过更换内置的固态硬盘,没什么效果。

后来我又以为是默认的SATA3.0速度太高与内置盘的兼容性有问题,于是从BIOS中限制了SATA控制器的速度到1.0的150MB/s,依然会有问题。

之前以为是设备供电不稳,换了贵一些的20V的电源适配器,依然没有改善。

意外的成功

直到最近为了解决启动缓慢问题,我通过dmidecode偶然发现,这个1037U的主机的内存居然是运行在1600MHz的模式下,感觉有点高啊。仔细一看,原来是我之前买的4GB的内存条,确实是标称DDR3-1600的。

会不会是1037U的CPU在这台小主机上,其实不能稳定的运行在1600MHz的内存频率下? 于是我重启进入BIOS配置,将内存频率限制在1333MHz下,观察重启过程,内置的SATA固态虽然运行在3.0模式下,但是没有出现过报错了!

后记

经过了大半天的运行,确实没有出现过任何文件系统块设备的错误了,之前偶然出现的PCIE的hang也不见了。看来面对各种存储块设备的问题,怀疑下内存也是合理的!

发表评论

为防机器,验证码请直接输入4个数字1

*