Summary : frag size

From: accy guy (accy_guy@yahoo.com)
Date: Wed Oct 08 2003 - 07:03:24 EDT


Hi all ,
 
Got replies from Russell Page and Andrew Hay . Thanks a lot guys . certainly made things a lot clearer .
 
The parameter can be set using newfs as Andrew pointed out . Should have gone through the man pages more carefully .
 
 
Andrew said :
 
"From: accy guy <accy_guy@yahoo.com>
"
"Can anyone provide me pointers as to what frag size parameter is as
shown in df -g

for most accesses, a largeish block size is more efficient considering
all the time spent seeking, but to more efficiently handle small files
a fragment of a block can be allocated.

why not just have smaller blocks? i don't know. i also don't know
why disks are still formatted with tiny sectors when all transactions
are in multi-sector groups.

"sys1# df -g /var/crash
"
"/var/crash (/dev/vx/dsk/usrdg/crash): 8192 block size
1024 frag size
" 6291456 total blocks 6028340 free blocks 5651580 available
753552 t
"otal files
" 753542 free files 35656586 filesys id
" vxfs fstype 0x00000004 flag 255 filename length
"
"
"Can this parameter be set ? 2 different solaris 8 systems with Vxfs
filesystems show different values of frag size ... One shows 1024 and the
other shows 8192 .

it can, at newfs time.
 
 
Russell said :
 
Solaris (and most other UNIX systems) use a file system specifically
developed to optimize disk storage and minimize file fragmentation.

Typically the system works with "blocks". On Solaris a block is usually
8k
in size. However 8k is a very inefficient size to allocate to small
files.
Say you have fifty files with an average size of say 700 bytes, you end
up
allocating 400k to store 35k of data.

To get around this problem, each block is divided into 8 fragments. The
block is still the smallest unit read or written by the kernel, but the
smallest unit that can be allocated to a file is 1 fragment. In my
example,
each 700 byte file occupies 1 fragment, and the kernel can store 8
files in
one block. So we end up allocating 7 blocks to store our 50 files. Our
35k
is now packed into 56 k of storage.

Generally, the kernel will a pack file into the minimum number of
blocks
and fragments it can fit into. The file layout is maintained
dynamically,
so generally UNIX file systems don't become fragmented in the way that
Windows one do. However the kernel needs a pool of free space to do
this.
Usually, we give the kernel a 10% margin to play with. This is the
reason
why df will tell you the filesystems are 100% full when they are
actually
only 90%.

The UNIX file system is a very elegant piece of software. The BSD
documentation has a nice article about it. You can download a copy
from
here:
ftp://ftp.netbsd.org/pub/NetBSD/misc/lite2-docs/smm/05.fastfs.ps.gz

Hope this makes sense.

Thanks once again
Accy

accy guy <accy_guy@yahoo.com> wrote:
hi admins ,

Can anyone provide me pointers as to what frag size parameter is as shown
in df -g

sys1# df -g /var/crash

/var/crash (/dev/vx/dsk/usrdg/crash): 8192 block size
1024 frag size
6291456 total blocks 6028340 free blocks 5651580 available
753552 t
otal files
753542 free files 35656586 filesys id
vxfs fstype 0x00000004 flag 255 filename length

Can this parameter be set ? 2 different solaris 8 systems with Vxfs
filesystems show different values of frag size ... One shows 1024 and the
other shows 8192 .

Thanks & Regards
Accy
The New Yahoo! Shopping - with improved product search
_______________________________________________
The New Yahoo! Shopping - with improved product search
_______________________________________________
sunmanagers mailing list
sunmanagers@sunmanagers.org
http://www.sunmanagers.org/mailman/listinfo/sunmanagers



This archive was generated by hypermail 2.1.7 : Wed Apr 09 2008 - 23:27:15 EDT