Jef*_*rts 2 linux ssd filesystems ext4
这是交易,我正在为我的爬虫检查域名,我有 1.45 亿个域名要即时进行欺骗检查。
存储消耗:
80GB for 19 million files
Run Code Online (Sandbox Code Playgroud)
为此,我从域的前四个字母创建一个目录结构,然后创建一个单字节文件,表示我以前见过这个域。
s/u/p/e/superuser.com
Run Code Online (Sandbox Code Playgroud)
我创建了像上面这样的目录结构,以防止任何目录中包含不合理数量的文件......
域/文件位置详细信息:
Domain: superuser.com
Root Directory: /home/tmc/tech/Data/Dupes/Domains/
Directory: s/u/p/e/
File Path: s/u/p/e/superuser.com
File Contents: .
Run Code Online (Sandbox Code Playgroud)
现在,我强烈怀疑存储使用在某种程度上与创建的目录和文件的数量有关,但是,仅创建目录不会导致极端的存储使用,因此它与填充这些目录有关,再次,我试图弄清楚这一点,这就是我此时怀疑的。
有人可以向我解释 linux ext4 文件系统如何在与目录、文件和带有文件的填充目录相关的存储消耗方面工作吗?
我不是 ext4 的专家,但与大多数文件系统一样,它以块为单位为文件分配空间。ext4 的默认块大小是 4096 字节,因此每个单字节文件实际上使用了 4096 字节的磁盘空间。1900 万次 4096 为您提供大约 80GB。
如果您只是将文件用作标记,则可以使用 0 字节长的文件,在这种情况下,系统不会为该文件分配块。
| 归档时间: |
|
| 查看次数: |
118 次 |
| 最近记录: |