休眠状态下的缓冲区 I/O 错误、丢失同步页面写入和 blk_update_request I/O 错误

休眠状态下的缓冲区 I/O 错误、丢失同步页面写入和 blk_update_request I/O 错误

这个问题与其他一些有同样错误的问题类似,但有一个主要区别:

当我尝试让 Ubuntu 进入休眠状态时,出现了许多与 I/O 相关的错误;

bkl_update_request: I/O error, dev sde, sector xxxxxxxxx (this is repeated for a few sectors)
Buffer I/O error on device sde6, logical block xxxxxxxxx
Aborting jounal on device sde6-8
Buffer I/O error on device sde6, logical block xxxxxxxxx, lost sync page write

错误截图: 错误截图

在其他显示类似错误的帖子中,响应总是“您的硬盘驱动器出现故障”。但是,我已经安装了 gsmartcontrol 并运行了短期和长期测试,它们报告没有错误(除非我遗漏或误读了某些内容)。

从日志中提取:

SMART Attributes Data Structure revision number: 1
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE          UPDATED  WHEN_FAILED RAW_VALUE
  5 Reallocated_Sector_Ct   0x0033   100   100   010    Pre-fail  Always       -       0
  9 Power_On_Hours          0x0032   097   097   000    Old_age   Always       -       14756
 12 Power_Cycle_Count       0x0032   098   098   000    Old_age   Always       -       1699
177 Wear_Leveling_Count     0x0013   096   096   000    Pre-fail  Always       -       43
179 Used_Rsvd_Blk_Cnt_Tot   0x0013   100   100   010    Pre-fail  Always       -       0
181 Program_Fail_Cnt_Total  0x0032   100   100   010    Old_age   Always       -       0
182 Erase_Fail_Count_Total  0x0032   100   100   010    Old_age   Always       -       0
183 Runtime_Bad_Block       0x0013   100   100   010    Pre-fail  Always       -       0
187 Uncorrectable_Error_Cnt 0x0032   100   100   000    Old_age   Always       -       0
190 Airflow_Temperature_Cel 0x0032   069   054   000    Old_age   Always       -       31
195 ECC_Error_Rate          0x001a   200   200   000    Old_age   Always       -       0
199 CRC_Error_Count         0x003e   100   100   000    Old_age   Always       -       0
235 POR_Recovery_Count      0x0012   099   099   000    Old_age   Always       -       468
241 Total_LBAs_Written      0x0032   099   099   000    Old_age   Always       -       28759429511

SMART Error Log Version: 1
No Errors Logged

完整日志在此 -http://pastie.org/10974743

我假设(可能不正确,因为我的交换分区在 sde5 上,而错误似乎引用了 sde6)问题可能出在交换分区上。因此,我在另一个磁盘上创建了一个交换文件,在我的 fstab 中设置了该文件,并禁用了我当前的交换分区。但我得到了和以前一样的错误。

我正在运行 Ubuntu 16.04 LTS,内核已升级到 4.8.1-040801-generic(不确定这是否重要,但这是我安装后所做的主要更改之一)。我的交换空间小于内存,但过去只要交换空间大于正在使用的内存量,休眠就从来都不是问题。我有 32GB 的内存,16GB 的交换空间。

在我看来,问题不是磁盘引起的,因为智能数据没有报告任何错误。此错误仅在尝试休眠时发生(这是我真正需要的)。所以我猜这是由其他原因引起的。我该如何进一步调试?有什么建议吗?谢谢。

答案1

事实证明,这个问题与升级的内核有关。使用 4.4 版内核时,休眠功能可以正常工作,但如果我升级到较新的版本之一,则会出现上面显示的 I/O 错误。降级回 4.4 版可解决此问题。

相关内容