Visit The New, Modern Unix Linux Community


Physical disk IO size smaller than fragment block filesystem size ?


 
Thread Tools Search this Thread
Top Forums UNIX for Advanced & Expert Users Physical disk IO size smaller than fragment block filesystem size ?
# 1  
Sun Physical disk IO size smaller than fragment block filesystem size ?

Hello,
in one default UFS filesystem we have 8K block size (bsize) and 1K fragmentsize (fsize). At this scenary I thought all "FileSytem IO" will be 8K (or greater) but never smaller than the fragment size (1K). If a UFS fragment/blocksize is allwasy several ADJACENTS sectors on disk (in a disk with sector=512B), all "physical disk IO" it will allways, like "Filesystem IO", greater than 1K.

But with dtrace script from DTrace Toolkit (bitesize.d) I can see IOs with 512B size.

¿What is wrong in my assumptions or what is the explanation?

Thank you very much in advance!!

Last edited by rarino2; 02-10-2013 at 08:43 AM..
# 2  
Suppose you open a file and write one byte to the file. You close the file. close() is required to update filesystem metadata, and sync the data in the file.

open() already allocated the minimum number of blocks specified as a filesystem parameter for minimum blocks per file/inode.

Those i/o's are very likely metadata (inode and directory) updates. What else is there left to do?
# 3  
Hi Jim! Thanks for your time.

I'm not sure to understand you well. When you say "blocks" in your post, are you speaking about physical (disk) blocks (sectors)?

If the answer to the above question is yes then, reading your answer, everything I have said in the first post is correct but I have not taken account FS metadata, access to which is not governed by the blocksize/fragmentsize. Right?

Than you very much!
# 4  
Quote:
Originally Posted by rarino2
Hi Jim! Thanks for your time.

I'm not sure to understand you well. When you say "blocks" in your post, are you speaking about physical (disk) blocks (sectors)?

!
A block is still (on most FS) refers to 4K of data only.

On most system the page-cache is still of this fix sizes. Hence on all block I/O is of 4K or less. The file systems on such system utilizes the maximum size which is 4k.

However, if you see the disk architecture, they have been under trial by various vendors with various sector sizes; with 512bytes sector disk supported by most of the File system and storage product vendors (they however support various other size disks too -but 512b sector disk is in most common use probably because windows/DOS/UNIX FS supported them).

In order to support various disk architecture and FS supporting them use fragmentation which of course let you divide the 4k of page size into various fragments of 1, 2, ... 8 fragments per page.

8-fragments per page is the lowest value which translate into the size of a sector. You can of course not use a sector half of it. For I/O of 1 to full 512 byte of data a full sector gets used in one disk write.

Can you post here the steps you used to test this figures :
1) On UFS, how you saw the fragment size of 1 KB?
2) How did you looked at the 512kb I/O ?
# 5  
Hello Praveen,
I'm not sure if you are mixing FS layer and phisical (disk driver) layer. I was speaking about FS layer (and block device driver layer) in my first post.

mcnamara answer was right.

Quote:
Originally Posted by Praveen_218
A block is still (on most FS) refers to 4K of data only.

On most system the page-cache is still of this fix sizes. Hence on all block I/O is of 4K or less. The file systems on such system utilizes the maximum size which is 4k.

However, if you see the disk architecture, they have been under trial by various vendors with various sector sizes; with 512bytes sector disk supported by most of the File system and storage product vendors (they however support various other size disks too -but 512b sector disk is in most common use probably because windows/DOS/UNIX FS supported them).

In order to support various disk architecture and FS supporting them use fragmentation which of course let you divide the 4k of page size into various fragments of 1, 2, ... 8 fragments per page.

8-fragments per page is the lowest value which translate into the size of a sector. You can of course not use a sector half of it. For I/O of 1 to full 512 byte of data a full sector gets used in one disk write.

Can you post here the steps you used to test this figures :
1) On UFS, how you saw the fragment size of 1 KB?
2) How did you looked at the 512kb I/O ?
1) fstype
2) dtrace script from DTrace Toolkit (bitesize.d)

Previous Thread | Next Thread
Thread Tools Search this Thread
Search this Thread:
Advanced Search

Test Your Knowledge in Computers #597
Difficulty: Easy
C does not supports do-while loops.
True or False?

10 More Discussions You Might Find Interesting

1. Solaris

Changing physical block size in ssd.conf Solaris

Close (0 Replies)
Discussion started by: gull05
0 Replies

2. HP-UX

About Block Size and Fragment Size

Accordingly a lot of manuals - if you have block size 8KB and trying to write a 1KB file to the block, as result you waste 7KB of the block space. But recently I noticed about Fragments of File Block. In same case if you have File Block 8KB and Fragment size 1KB - you can save your block space,... (6 Replies)
Discussion started by: jess_t03
6 Replies

3. Shell Programming and Scripting

Compress a tar file to smaller size

I have a tar file with name DTT012_GP_20140207.tar and many more with different names of different sizes ranging from 1GB to 4GB. Now my requirement is to extract/not extract these files and then divide it into various parts of size 500MB and save it with different names and then compress... (5 Replies)
Discussion started by: Shaibal_bp
5 Replies

4. Solaris

ZFS : Can arc size value exceed Physical RAM ?

Hi, kstat -p -m zfs -n arcstats -s size returns zfs:0:arcstats:size 8177310584 this values is approx (7.61 GB) but my Physical Memory size is only 6144 Megabytes. Can this happen ? if yes, then how can I find free memory on the system. BTW, I ran the kstat commands from a Non... (2 Replies)
Discussion started by: sapre_amit
2 Replies

5. Shell Programming and Scripting

Script to Compare file size and delete the smaller

I am pretty new to scripting, so I appreciate your advice in advance. The problem: 100 directories each containing 2 files that have the same extension with random names. The only attribute that discriminates the files is size. I would like to write a script that compares the files for size... (6 Replies)
Discussion started by: JC_1
6 Replies

6. UNIX Desktop Questions & Answers

block group size of a filesystem

How can I determine the block group size of my filesystem, in case I would like to determine where my backup superblocks are? Or how can I determine the location of my backup superblock? If usually, for the block group size of 1k, the alternate superblock will be at block 8193. Thanks, (2 Replies)
Discussion started by: Pouchie1
2 Replies

7. IP Networking

IPMI - Get physical memory size

Hi, Does anybody know how to get the RAM size of a powerless server (OS off), with a network hardware management protocol like IPMI ??? Thx (0 Replies)
Discussion started by: sncr24
0 Replies

8. HP-UX

determine the physical size of the hard disk

Hi is there a cmd in hpux 11 to determine the physical size of the hard disk. not bdf command. i have searched the other threads here but cant find an answer. thank you guys (4 Replies)
Discussion started by: hoffies
4 Replies

9. AIX

How can I find the filesystem block size?

How can I find the filesystem block size in AIX? I need to check if it is the same as my DB block size. (4 Replies)
Discussion started by: progressdll
4 Replies

10. UNIX for Dummies Questions & Answers

vol group - physical partition size

Hi Everyone, Can someone tell me the effect of the pp size of the volume group created for Oracle data. It would seem that creating small pp's will cause more overhead. What if you make the pp to large? What should I base this size on? Thanks, (4 Replies)
Discussion started by: kburrows
4 Replies

Featured Tech Videos