Summary : frag size

From: accy guy <accy_guy_at_yahoo.com>
Date: Wed Oct 08 2003 - 07:07:45 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
Received on Wed Oct 8 07:07:40 2003

This archive was generated by hypermail 2.1.8 : Thu Mar 03 2016 - 06:43:19 EST