Linux下两种分区占用硬盘大小的比较
原文的名称为:“ ext3文件系统和reiserfs文件系统 本身占用空间的比较”
不过我更愿意接我上一篇,关于NTFS分区占用空间的延续。所以在此先感谢Fromlung于2008-1-24在http://www.linuxdiyf.com发布的这篇文章,由于大虾写的内容太多了,我就不全部粘贴过来了,只看环境和结果。
对了,linux下查看文件夹占用的空间大小命令是 du -sh dirname
或者你可以使用输出txt慢慢嚼去 du -ch > m.txt
ext3文件系统和reiserfs文件系统现在linux系统上是非常流行的两种。下面我们来比较一下这两种文件系统本身对硬盘空间的占用情况。因为我的硬盘分区已经基本定好,不容易更改了,所以就使用文件的方式创建文件来进行比较──毕竟我们这里比较的不是速度,而是空间──然而这样做不知是否和实际设备上有区别。
(一)首先,我们需要一个有足够空闲空间的分区来做这个实验。我的空闲的空间还不到5GB,所以只好把实验的每个最大分区做到2GB。我的实验中先是做100MB的“分区”的比较,然后是1GB分区的比较,最后是2GB分区的比较。我们所需要的工具也十分简单:dd工具,用于较快地取得一个大文件;创建文件的工具mkfs.ext3和mkfs.reiserfs;df工具,用来查看分区占用情况。
这里提前说明我的系统的简单情况:内核为2.6.23.1,自己编译的。命令替换有alias ll='ls -l'。reiserfs版本是3.6的。
(二)现在就开工:
1.创建100M的文件:
dd if=/dev/zero of=d-ext3fs bs=1M count=100
dd if=/dev/zero of=d-reiserfs bs=1M count=100
2.创建文件系统:
2.1创建ext3文件系统
。。。。
。。。。
。。。。
隐去过程文字N多。。。。
。。。。
。。。。
(三)综上所做的实验,我可以比较肯定的说对于ext3文件系统,当分区增大时,它本身所使用的空间也随之较快的增长;而reiserfs系统的增长速度却远没有ext3文件系统那样快。此外由于reiserfs是真正的日志文件系统,所以它比较适用于经常对文件读和写的地方;而ext3文件系统也具有一定的日志功能,但是它的性能就没那么好了。而对于小的分区,比如/boot,使用ext3或者是ext2作为基本上是只读的分区就是非常理想的。
另外不得不提的是,Linux下空间如果无端 变大,有可能是以下原因导致。
某天,登陆某台服务器,发现以下诡异情景:
:~> df -h
Filesystem Size Used Avail Use% Mounted on
/dev/cciss/c0d0p1 9.9G 1.5G 7.9G 16% /
udev 16G 164K 16G 1% /dev
/dev/cciss/c0d0p3 20G 261M 19G 2% /usr/local
/dev/cciss/c0d0p4 104G 42G 56G 43% /data
:/data # du -sh ./*
4.0K ./corefile
4.0K ./iostat.tmp
4.0K ./log_manager
4.0K ./log_manager1
16K ./lost+found
2.2G ./web中 华 考 试 网
明明data目录下只有2.2G的占用,为何在df下看到42个G呢?
经过检查,原来是某些被删除过的进程干的好事
#lsof |grep delete
ttserver 30316 REG 104,4 2946659 7979020 /data/ttserver/bin/ttserver (deleted)
ttserver 30316 REG 104,4 70393 8028168 /data//tt_feeds/log/tt.log (deleted)
ttserver 30316 REG 104,4 42446163552 8028170 /data/pet50/ttserver/tt_feeds/data/tt_feeds.tch (deleted)
data目录下的进程没有停止,然后就删除了文件,使得已经在内存的进程不断跑,不断写磁盘~~~
如果你也发现你的磁盘无端端变小了,是否也存在同样的问题?