作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试使用多线程在一个文件夹中写入 10 亿个文件,但接下来我的程序写入了 2000 万个文件,我得到“设备上没有剩余空间”。我没有关闭我的程序,因为它仍在写入相同的文件。
我使用 debian 和 EXT4 作为文件系统。有没有同样的人遇到这个问题,非常感谢您的帮助。
运行tune2fs -l/path/to/drive
给出
Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
Filesystem flags: signed_directory_hash
Default mount options: user_xattr acl
Filesystem state: clean
Errors behavior: Continue
Filesystem OS type: Linux
Inode count: 260276224
Block count: 195197952
Reserved block count: 9759897
Free blocks: 178861356
Free inodes: 260276213
First block: 0
Block size: 4096
Fragment size: 4096
Reserved GDT blocks: 1024
Blocks per group: 24576
Fragments per group: 24576
Inodes per group: 32768
Inode blocks per group: 2048
Flex block group size: 16
Filesystem created: ---
Last mount time: ---
Last write time: ---
Mount count: 2
Maximum mount count: -1
Last checked: ---
Check interval: 0 ()
Lifetime writes: 62 GB
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)
First inode: 11
Inode size: 256
Required extra isize: 28
Desired extra isize: 28
Journal inode: 8
Default directory hash: ---
Directory Hash Seed: ---
Journal backup: inode blocks
最佳答案
检查这个问题 How to store one billion files on ext4?
你的 block 比 inode 少,这是行不通的,尽管我认为这是你的问题中最少的。如果你真的想这样做(数据库会更好吗?),你可能需要研究除 ext4 zfs
之外的文件系统,它是一个允许每个目录有 2^48 个条目的选项,并且应该这样做你想要什么。
如果这个问题https://serverfault.com/questions/506465/is-there-a-hard-limit-to-the-number-of-files-a-directory-can-have无论如何,使用 ext4 的每个目录的文件数量有限制,您可能会遇到这个限制
关于c - 在一个文件夹中写入十亿个文件但出现 "(No space left on device)"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27130302/
我是一名优秀的程序员,十分优秀!