gpt4 book ai didi

linux - 文件系统 block 大小如何工作?

转载 作者:太空宇宙 更新时间:2023-11-04 05:26:20 24 4
gpt4 key购买 nike

所有 Linux 文件系统的 block 大小均为 4kb。假设我有 10MB 的硬盘存储空间。这意味着我有 2560 个可用 block ,假设我复制了 2560 个文件,每个文件大小为 1kb。每个 1 kb block 将占用 1 个 block ,但不会填满整个 block 。

所以我的整个磁盘现在已满,但仍然有 2560x3kb 的可用空间。如果我想存储另一个 1mb 的文件,文件系统允许我存储吗?它会写入各个 block 中剩余的可用空间吗?有什么概念可以解决这个问题吗?

我希望得到一些澄清。提前致谢。

最佳答案

确实,如果您存储大量比文件系统的最小块大小小得多的文件,那么您在某种程度上浪费了磁盘空间。

block 大小约为 4kb 的原因是与 block 相关的元数据量。 block 大小越小,与实际数据相比,有关 block 位置的元数据就越多,最坏的情况是碎片越多。

但是,存在具有不同 block 大小的文件系统,大多数文件系统允许您定义 block 大小,通常最小块大小为 512 字节。如果您要存储大量非常小的文件,那么具有较小的 block 大小可能是有意义的。

http://www.tldp.org/LDP/sag/html/filesystems.html

XFS 文件系统文档对如何选择文件系统 block 大小有一些注释 - 也可以定义目录 block 大小:

http://techpubs.sgi.com/library/tpl/cgi-bin/getdoc.cgi?coll=linux&db=bks&srch=&fname=/SGI_Admin/LX_XFS_AG/sgi_html/ch02.html

You should consider setting a logical block size for a filesystem directory that is greater than the logical block size for the filesystem if you are supporting an application that reads directories (with the readdir(3C) or getdents(2) system calls) many times in relation to how much it creates and removes files. Using a small filesystem block size saves on disk space and on I/O throughput for the small files.

关于linux - 文件系统 block 大小如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31098156/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com