📄 00000011.htm
字号:
<HTML><HEAD> <TITLE>BBS水木清华站∶精华区</TITLE></HEAD><BODY><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER>发信人: raner (就要离开清华了...), 信区: Linux <BR>标 题: 关于inode的简介(转载) <BR>发信站: BBS 水木清华站 (Mon Jun 29 10:43:29 1998) <BR> <BR>来 源: freebsd.csie.nctu.edu.tw <BR>档 名: 0/System/inode(使用 70 埠) <BR>标 题: 关于 inode - About inode <BR> <BR> <BR>From: <A HREF="mailto:unixer.bbs@bbs.ee.ncku.edu.tw">unixer.bbs@bbs.ee.ncku.edu.tw</A> (优客李林) <BR>Newsgroups: tw.bbs.comp.386bsd <BR>Subject: 有关 inode... <BR>Date: 9 Dec 1996 08:27:00 GMT <BR> <BR>Hi... <BR> <BR>由于做过一些有关 filesystem 的 study, 在这边对 inode 做一点说明... <BR> <BR>1. inode 是作甚么的? <BR> <BR> 一个 filesystem 可以粗略地分成 inode table 与 data area 两部份. <BR> inode table 上有许多的 inode, 每个 inode 分别 记录一个档案的属性, <BR> 与这个档案分布在哪些 datablock 上 <BR> <BR>2. 一个 inode 有多大呢? <BR> <BR> 128 byte! <BR> <BR>3. inode 和 data area 的关系 <BR> <BR> 在 new filesystem 时, 通常会有一个参数, 用来描述要分配多少比例的空间给 <BR> inode table. 举例来说, <BR> <BR> newfs -i 2048 <BR> <BR> 是指 file system 中, 每分配 2048 byte 给 data area, 就分配一个 inode <BR> 但是一个 inode 就并不是一定就用掉 2048 byte, 也不是说 files allocation <BR> 的最小单位是 2048 byte, 它仅仅只是代表 filesystem 中 <BR> inode table/data area 分配空间的比例是 128/2048 也就是 1/16 <BR> (换个角度想, 我们可以想成是预估 filesystem 中 file 平均大小是 2048 byte) <BR> <BR> 如果 inode table 太小, 那么在每个档案都很小的时候, 就会发生 inode 用光 而 <BR> datablock 还剩一堆的情形. <BR> <BR>4. file allocation 的最小单位 和 inode 多少有没有关系呢? <BR> <BR> 没有关系! <BR> <BR> FFS 中真正的最小单位是 fragment size 也就是我们在 new filesystem 时用的 <BR> <BR> newfs -b 8192 -f 1024 <BR> ^^^^^^^^ <BR> ps: -b 8192 代表 blocksize=8192, 这种"较大单位"是用来加速大档案的存取用的 <BR> <BR>在 FreeBSD 中, 内定的是 -i 4096 -b 8192 -f 1024. 如果您要架 bbs/new 的话 <BR>可以考虑用 -i 1024 -b4096 -f1024 <BR> <BR>unixer <BR> <BR>============================================================================ <BR>From: <A HREF="mailto:alexj@mail.tmc.edu.tw">alexj@mail.tmc.edu.tw</A> (Ji, Wen-Jie) <BR>Newsgroups: tw.bbs.comp.386bsd <BR>Subject: Re: HELP !! The parameter of newfs <BR>Date: Thu, 12 Dec 1996 01:39:31 GMT <BR> <BR> 没关系,我自己找到答案了,写在此让大家分享一下. <BR> 所谓 block size & fragment size, 这是属于 file system <BR> 的一种解决方案. 自4.3 BSD, BSD 用这种方法来解决档案 fragment <BR> 的问题 <BR> 先假设 a block size= 4K, a fragment size = 256Bytes. <BR> 假如你现在要将一个 1K 的新档案写入 file system, FS 会把它存入 4 <BR> 个fragment,而不会存入 block,一但这个档案继续被 append 增加到 4K <BR> 时, FS 会将它转存到一个 block中, 而原来的 16 个fragments 就会被 clean <BR> ^^^^^^^^^^^^^^^^^^^^ <BR> 因为当你的档案大到 4K 时,它占用 <BR> 了 16 (4K / 256 bytes) 个 fragments <BR> 再举个例子, 如果现在又存了一个新的 4.1K 的档案, FS 会分配 <BR> 一个 block 及 4个 fragment 给 这个档案, <BR> 因为 1 block + 4 fragments = 4 K + 256 bytes * 4 = 4.1K <BR> <BR> 所以,有此可知,对于一台 news server, bbs, 或是会有大量的小档案存取时, <BR> 为了降低 FS 的空间耗损率,应该采用 -b 4096 -f 256, <BR> 而不要采用预设值的 -b 8192 -f 1024,因为大部分的信件都不超过 512 bytes, <BR> 有些更不超过 256 bytes, 但是这样可能会降低存取的速度.但我相信不严重 <BR> 有兴趣的人可以试试. <BR> <BR>========================================================================= <BR> <BR> newfs 时的参数的影响:(以 100MB 的分割去作测试) <BR> <BR>><I>From <A HREF="mailto:jason@csie.NCTU.edu.tw">jason@csie.NCTU.edu.tw</A> Fri Mar 14 23:53:58 1997 </I><BR>From: Jason Chang <<A HREF="mailto:jason@csie.NCTU.edu.tw>">jason@csie.NCTU.edu.tw></A> <BR> <BR> <BR>size: 208845 (about 100MB) <BR> <BR>参数 可用空间(1K-blocks) 可用 inode (ifree) <BR>-i 1024 91525 102397 <BR>-i 2048 96661 61437 <BR>-i 4096 100501 30717 <BR>-i 8192 102421 15357 <BR>-i 16384 103381 7677 <BR>-i 32768 103861 3837 <BR>-i 16384 -b 16384 -f 2048 103316 7677 <BR>-i 16384 -b 32768 -f 4096 103104 8189 <BR>-i 16384 -b 65536 -f 8192 102808 8189 <BR> <BR> <BR>-- <BR> <BR>-- <BR>※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: 166.111.68.98] <BR><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -