我正在尝试在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花了很长时间……但我需要它才能完成而不是错误.