想象:
- 您在故障磁盘上有交换分区;
- 一个进程是空闲的,它的部分内存被交换到这个分区;
- 一段时间后它醒来,内核尝试将交换的页面加载回内存;
- 内核检测到不可恢复的读取错误。
我相信内核应该在这种情况下使进程崩溃。
我还没模拟。我只是想知道一些答案(可能还有如何在 Linux 中模拟它的说明)并分享我随后的发现。
也许这种情况可以解释一些存储硬件故障的遗留系统上很少发生崩溃。
更新
使用映射目标swap
可以轻松地模拟特定卷上的错误:dmsetup
error
我唯一没有深入研究的是如何控制加载、交换和重新加载特定进程的虚拟内存到卷的特定error
映射部分swap
。基本上,我需要避免使用这个错误swap
的任何其他过程,除了模拟过程。