Linux目录大小/块计数的单调增长
发布时间:2020-12-13 18:14:02 所属栏目:Linux 来源:网络整理
导读:在 Linux上,(可能是文件系统块大小的函数),当我创建一个目录并对其进行统计时,它返回4096的大小.我可以在这个目录中创建文件,直到某一点,而不会增加感知的大小目录(由stat报告). 在某些时候,当目录填满许多文件时,目录大小气球(我不是在谈论目录的内容,我说
在
Linux上,(可能是文件系统块大小的函数),当我创建一个目录并对其进行统计时,它返回4096的大小.我可以在这个目录中创建文件,直到某一点,而不会增加感知的大小目录(由stat报告).
在某些时候,当目录填满许多文件时,目录大小气球(我不是在谈论目录的内容,我说的是代表目录本身所消耗的块).如果删除文件,则目录大小保持不变. 这是一个简单的例子: [root@uxlabtest:/]$mkdir test [root@uxlabtest:/]$stat test File: `test' Size: 4096 Blocks: 8 IO Block: 4096 directory Device: fd00h/64768d Inode: 1396685 Links: 2 Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2011-07-26 14:06:04.000000000 -0400 Modify: 2011-07-26 14:06:04.000000000 -0400 Change: 2011-07-26 14:06:04.000000000 -0400 然后触摸一堆文件: [root@uxlabtest:/]$for i in `seq 1 10000`; do touch /test/$i; done [root@uxlabtest:/]$stat test File: `test' Size: 155648 Blocks: 312 IO Block: 4096 directory Device: fd00h/64768d Inode: 1396685 Links: 2 Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2011-07-26 14:06:04.000000000 -0400 Modify: 2011-07-26 14:06:56.000000000 -0400 Change: 2011-07-26 14:06:56.000000000 -0400 然后删除文件: [root@uxlabtest:/]$rm -rf /test/* [root@uxlabtest:/]$stat test File: `test' Size: 155648 Blocks: 312 IO Block: 4096 directory Device: fd00h/64768d Inode: 1396685 Links: 2 Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2011-07-26 14:07:11.000000000 -0400 Modify: 2011-07-26 14:07:12.000000000 -0400 Change: 2011-07-26 14:07:12.000000000 -0400 我的问题是: >为什么目录的大小/块数会单调增加? 解决方法
以下是ext2 / ext3 / ext4的答案.如果它们适用于其他文件系统,则取决于它们的实现.
> user48838正确回答了这个问题.更多文件消耗更多元数据.它们以4k块或文件系统创建时定义的任何其他大小分配 但你有运气.重新创建已删除的相同数量的文件时,目录大小将保持不变.只有当您添加更多文件时,它才会增加. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |