![e2fsck 中止:内存分配失败](https://linux22.com/image/530117/e2fsck%20%E4%B8%AD%E6%AD%A2%EF%BC%9A%E5%86%85%E5%AD%98%E5%88%86%E9%85%8D%E5%A4%B1%E8%B4%A5.png)
我正在尝试使用 e2fsck 修复 9 TB 文件系统,但是扫描总是在大约 10% 左右后失败,并出现以下错误:
Error storing directory block information: ... Memory allocation failed
e2fsck: aborted
该机器运行 Ubuntu 10(64 位),内存为 4 GB。我注意到,在检查过程中,内存几乎耗尽,尽管顶部仅报告应用程序的使用率仅为 22%,并且可以通过 drop_caches 回收内存。交换空间未受影响。
无论如何,我已通过为 e2fsck 提供一个 scratch_files 位置来解决这个问题,当它失败时,它会填充大约 500M。此外,我还设置了交换-a,这似乎也延长了 e2fsck 的崩溃时间。
我该如何调整 e2fsck 以使其不会崩溃?有没有更好的方法来修复我的 fs?
答案1
听起来您正在从本地操作系统运行 e2fsck?
我不知道这是否会有所不同,但如果您从 LiveCD 尝试,会发生什么?有些有 lomem 启动选项,您研究过吗?
由于目前还没有更好的想法,这是一个选择吗?