Adding/setting up mem, disk, cd drive, sys admin?
Alan's Home for Wayward Notes File.
alan at shodha.enet.dec.com
Sun Jun 16 16:27:44 AEST 1991
In article <44675 at netnews.upenn.edu>, lau at desci.wharton.upenn.edu (Yan K. Lau) writes:
> I added 2 RZ57s in an expansion unit to the system. I ran MAKEDEV and
> newfs. The results were about 950megs total with 850megs available. Is
> this normal? I read somewhere that the system takes about 10% for
> (mumble...mumble).
And I responded "This seems to be normal". But where does
all the space go you ask? Well, now that we have resolved
the disk size (See "Lies, Damned Lies and ..."), we know
just how much we have to begin with and can determine how
much is lost to file system overhead.
That's the key to it you see; file system overhead. Some
file system space goes to superblocks, some to inodes and
some to other stuff. For some disks this can be a signifi-
cant percentage of the disk. We'll find for the RZ57 that
it isn't very much.
From the previous discussion we determine that whatever else
WE might think about it, ULTRIX believes that an RZ57 has
1,954,050 sectors (977,025 KB). Doing a newfs(8) on an
RZ57, letting it take the defaults we find that there are
a total of 945,726 KB available, a loss of 3.2%. Looking
at the RA82 as another example we find it has 608,332 KB
which goes down to 584,102 KB for file system data, a loss
of 3.98%.
Where's the overhead? First, consider the file system structure.
Each file system is made up of groups of cylinder. Each of
these groups has it's own superblock, block of inodes, data
space and cylinder group data. When left to the default
each group consists of 16 cylinders. The first cylinder has
a few more things thrown in to use up a little space. Here's
a summary of the sizes of things on an RZ57:
Bootblock: 8 KB (one only)(+)
Superblock: 8 KB (one only)
Backup Superblock: 8 KB (one per CG)
Cylinder Group data: 8 KB (one per CG)
Inodes: 256 KB (one per CG)
From the previous discussion we might concluded that there
were 1,861 cylinders on an RZ57. Looking at the output of
newfs(8) it believes the 71 sectors per track which actually
gives us 1835 cylinders (one a bit short). Taking the default
of 16 cylinders per group this is 115 cylinder groups. The
last one will be short, but have the same overhead. Working
through the sizes of things we have:
Bootblock: 8 KB = 8 KB
Superblocks: 8 KB + (8 KB * 115) = 928 KB
CG: 8 KB * 115 = 920 KB
Inodes: 256 KB * 115 = 29,440 KB
--------------------------------------------
31,296 KB
If we take the difference of chpt(8) size and the total file
system size we find the result very close;
977,025 - 945,726 = 31,299
That's only three KB unaccounted for. You might think
that it's best left a mystery; perhaps they end up in
the same place with socks that go missing from dryers,
but I think I know where they are. First, look at the
original partition size; 977,025 KB. File systems are
made up of File System size blocks of data. This is
typically 8 KB. If we view the file system space as
8 KB blocks there are 122,128 of them with one little
KB left over. That's the first one. Also included in
the file system overhead of an RZ57 is something called
the cylinder group summary. On the RZ57 with defaults
this is 2 KB (trust me, really). So we have:
945,726 + 31,296 + 2 + 1 = 977,025
The mind boggles. Now, having been through the exercise what
can we divine (it's getting late folks...)?
The amount of space used up in overhead depends on the number
of cylinder groups, which in turn depends on the number of
cylinders. If a disk consists of very many small cylinders
then lots of space gets used. One benefit of this is that
you get lots of space for inodes. On some file systems this
can be a big win (News disks for example).
You can also control the amount of space used for overhead
in various ways. There is a flag to newfs(8), passed onto
mkfs(8) that controls the size of the inode part. By making
this number greater than the default of 2048 you can allocate
fewer inodes and therefore less space. With this comes the
risk that you don't have enough inodes. If you KNOW that a
disk will have only a few large files, then getting back a
few dozen MB might be worthwhile.
Another way to control the overhead is to lie about the
geometry. Using a contrived (^) example of a disk with 69
sectors/track, 13 tracks/cylinder and 3,279 cylinders
we might wish to lie and say it has 23 sectors/track,
13 tracks/cylinder and 9,837 cylinders. Or perhaps,
69 s/t, 39 t/c and 1,093 cylinders. Lying about the
geometry might have other affects, but that is a topic
for a performance project.
(+) Actually there is one per file system of the "one
only" blocks.
(^) Well, maybe not contrived.
--
Alan Rollow alan at nabeth.cxn.dec.com
More information about the Comp.unix.ultrix
mailing list