linux – 大文件系统上的e2fsck失败,错误:内存分配失败

我正在尝试在2TB大的大型raid阵列上使用e2fsck并使用GPT进行分区(因为大小).

系统上只安装了1GB的ram,此时我无法添加更多内存.

问题是,在设备上启动fsck后不久,我收到一条错误消息:

Error storing directory block information (inode=115343515, block=0, num=108120142): Memory allocation failed
e2fsck: aborted

经过一些在线搜索和研究后,我遇到了以下帖子:

Running out of memory running fsck on large filesystems

在查找e2fsck.conf的MAN页面后,我遵循了建议,并基本上创建了一个/etc/e2fsck.conf文件,如下所示:

[scratch_files]
directory = /var/cache/e2fsck

并确保创建/ var / cache / e2fsck directry后再次尝试fsck.再次启动fsck并观察可用内存,cpu使用情况以及/ var / cashe / e2fsck的目录大小…我可以说它定义了很多帮助…但它最终仍然失败了同样的错误.基本上它有助于减缓内存消耗,但并没有将它们全部否定.

所以我尝试使用以下内容播放e2fsck.conf文件的附加标志:

dirinfo = false 

要么

dirinfo = true

icount = false

要么

icount = true

在短时间内发生同样的错误,这两者似乎都没有多大影响.

我错过了什么吗?我很好用fsck花了很长时间……但我需要它才能完成而不是错误.

最佳答案
如果可以,请在系统中添加一些交换空间. fsck需要花费很长时间,但最终会完成.下一次,将文件系统切成小块.

转载注明原文:linux – 大文件系统上的e2fsck失败,错误:内存分配失败 - 代码日志