快速业务通道

512M分区不停写入1K文件可以写多少个

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-03-29

#########################################################
#512M分区不停写入1K文件可以写多少个
#date:2011-08-09
#作者:Jeacen
#QQ:198888885 MAIL:jeacen@lamphelp.org
#blog: http://jeacen.blog.51cto.com
#psite: http://www.lamphelp.org
#pblog:http://www.jeacen.com
##########################################################

一个512M的分区,如果不停的写入1K大小的文件,请问可以写多少个文件?描述其限制原因及解决方法;
a.受节点数(inode)限制;可以通过 df -i查看当前以用和可用节点数,可以在格式化硬盘时定义;
下文既是一个分区有足够的磁盘空间,却没有节点导致文件无法写入了:
[root@caotest /]# df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sdb2 126976 126976 0 100% /mnt
[root@caotest /]# df -H
Filesystem Size Used Avail Use% Mounted on
/dev/sdb2 502M 145M 332M 31% /mnt

b.受格式化时设定的block size的影响;
在大分区下,下文是我自己做的一个1024字节的文件,他的大小是1024byte,但他的占用空间是4k.
[root@caotest ~]# ls -ls test
4 -rw-r--r-- 1 root root 1024 Apr 10 03:11 test
[root@caotest ~]# du -sh test
4.0K test
但是,512M的小分区,默认的block size即为1024,而非大分区的4096,在本题中该参数不影响设置;
[root@caotest ~]# dumpe2fs /dev/sdb6 |grep "Block size"
dumpe2fs 1.39 (29-May-2006)
Block size: 1024
补充材料,block size和单个文件及文件系统大小的关系:
-----------------------------------------------
|Block_size | 1k | 2k | 4k |
|单个文件的大小限制 | 16G | 256G | 2TB |
|文件系统的大小限制 | 2TB | 8TB | 16TB |
-----------------------------------------------


c.额外的空间占用;每个inode节点本身还要占用128k的空间;逻辑分区(506016比主分区(506044)少28个block;日志占用的空间最小为8M,“lost foundlost found”也要占据一个inode和block;

综上所述,且经过实际验证,一个512M内存的ext3分区,默认格式化参数可存放126965个文件,限制的原因是inode耗尽;
如果格式化时用mkfs.ext3 -N "inode_nuber"来进行设置,则要考虑到每一个innode节点本身还要占用128k的空间,inode增加的同时也在占用block,要在free innode和free block之间找到两者最接近的最大值.
经过多次测试,发现一个512M的分区,最多可以存放40-42万个1kb的文件.
实际测试时写入30多万个文件后,用脚本写入文件就会报错,但仍可以手动写入文件,因此无法彻底完成实验得到精确数值.

本文出自 “jeacen的技术屋” 博客,请务必保留此出处http://jeacen.blog.51cto.com/920211/634901

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多
上一篇: linux 中的openssl的使用下一篇: RAID

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号