我在 1.5 TB 驱动器上创建了两个分区,第一个分区是 1 TB,后者是剩余的 0.5 TB。两者都格式化为 ext3。我不介意自动文件系统检查经常发生,所以我从不费心配置它的频率。我发现奇怪的是,它决定对 1 TB 分区每 39 次安装进行一次自动检查,对 0.5 TB 分区每 27 次安装进行一次自动检查。我尝试查看手册页以及各种论坛,但我找不到任何有关它如何确定文件系统检查频率的提及。我认为这是一个简单的公式,所以有人知道它是什么吗?
答案1
Linux 的好处是源代码总是在某个地方。你可以下载或者看法kernel.org 上的基本 e2fsprogs 源代码。这也可能取决于您的具体版本和发行版...
enable_periodic_fsck = 1
从当前代码来看,如果您的 mke2fs.conf 中有的话,它看起来像是根据分区的 UUID 添加到 20 的一些值
if (get_bool_from_profile(fs_types, "enable_periodic_fsck", 0)) {
fs->super->s_checkinterval = EXT2_DFL_CHECKINTERVAL;
fs->super->s_max_mnt_count = EXT2_DFL_MAX_MNT_COUNT;
/*
* Add "jitter" to the superblock's check interval so that we
* don't check all the filesystems at the same time. We use a
* kludgy hack of using the UUID to derive a random jitter value
*/
for (i = 0, val = 0 ; i < sizeof(fs->super->s_uuid); i++)
val += fs->super->s_uuid[i];
fs->super->s_max_mnt_count += val % EXT2_DFL_MAX_MNT_COUNT;
} else
fs->super->s_max_mnt_count = -1;
:#define EXT2_DFL_MAX_MNT_COUNT 20
很高兴在代码中看到“kludgy”和“hack”这两个词=)
答案2
查看、 以及默认值mke2fs(8)
的内容。/etc/mke2fs.conf(5)
答案3
您必须使用该tune2fs
命令设置各种参数,例如安装数量或 FS 健全性检查之间的天数。
您还可以用来tune2fs -l /dev/device
显示有关文件系统的当前信息