Disk defragmenter in Linux

Jim Cornette fc-cornette at insight.rr.com
Fri Dec 30 17:08:59 UTC 2005


Mike McCarty wrote:

> Jim Cornette wrote:
>
>> Mike McCarty wrote:
>>
>>> Jim Cornette wrote:
>>>
>>>> John Summerfied wrote:
>>>>
>>>>> Jeff Vian wrote:
>>>>>
>>>>>>
>>>>>> Exactly, and IIRC the filesystem knows that if it needs X amount of
>>>>>> space for a file, then Y number of inodes are marked for use for 
>>>>>> that
>>>>>> file at the beginning.  Thus space allocated is as contiguous as is
>>>>>> efficient for read/write on the disk.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> If "the filesystem knows that if it needs X amount of space for a 
>>>>> file," that implies there's a way of telling it that.
>>>>>
>>>>> How's that done? I don't recall any system call for *x (there is 
>>>>> one for OS/2), and one could do it in JCL in IBM's OS in the 60s), 
>>>>> but in the *x world I've never seen a way to do it.
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> Since the discussions regarding fragmentation on ext3 filesystems 
>>>> was pretty long running. I decided to try
>>>> filefrag /usr/bin/* |sort |grep 'would be'
>>>> and the output showed a lot of fragmentation. One of the files was 
>>>> up to 45.
>>>
>>>
>>>
>>>
>>> On my system I did this...
>>>
>>> # filefrag /usr/bin/* | sort -k2 -nr | grep 'would be'
>>>
>>> Here're the first few entries...
>>>
>>> /usr/bin/emacs: 248 extents found, perfection would be 1 extent
>>> /usr/bin/emacs-21.3: 248 extents found, perfection would be 1 extent
>>> /usr/bin/kermit: 80 extents found, perfection would be 1 extent
>>> /usr/bin/kbabel: 45 extents found, perfection would be 1 extent
>>> /usr/bin/ddd: 45 extents found, perfection would be 1 extent
>>> /usr/bin/gthumb: 41 extents found, perfection would be 1 extent
>>> /usr/bin/gdbtui: 36 extents found, perfection would be 1 extent
>>> /usr/bin/elinks: 30 extents found, perfection would be 1 extent
>>> /usr/bin/iniomega: 22 extents found, perfection would be 1 extent
>>> /usr/bin/kpersonalizer: 21 extents found, perfection would be 1 extent
>>> /usr/bin/artsd: 21 extents found, perfection would be 1 extent
>>> /usr/bin/artscat: 20 extents found, perfection would be 1 extent
>>> /usr/bin/kiconedit: 19 extents found, perfection would be 1 extent
>>> /usr/bin/glade-2: 19 extents found, perfection would be 1 extent
>>> /usr/bin/karm: 18 extents found, perfection would be 1 extent
>>> /usr/bin/dia: 18 extents found, perfection would be 1 extent
>>> /usr/bin/designer3: 18 extents found, perfection would be 1 extent
>>> /usr/bin/designer: 18 extents found, perfection would be 1 extent
>>> /usr/bin/kppplogview: 16 extents found, perfection would be 1 extent
>>> /usr/bin/kfontinst: 16 extents found, perfection would be 1 extent
>>> /usr/bin/civclient-xaw: 15 extents found, perfection would be 1 extent
>>> /usr/bin/cdrecord: 15 extents found, perfection would be 1 extent
>>> /usr/bin/knewstickerstub: 14 extents found, perfection would be 1 ext
>>>
>>> Surely those who argue that ext3 does not get fragmented
>>> during install don't think that 248 extents is "not
>>> significant fragmentation".
>>>
>>> I assure you that I have done nothing on my system to try to
>>> fragment emacs.
>>>
>>> Mike
>>
>>
>>
>>
>> The fragmentation for your emacs is unbelievably high. I did not find 
>> anything yet fragmented in the hundreds, let alone several hundred 
>> extents. Are you using LVM? My system is setup in traditional 
>> partitions. LVM usage "seemed" slower in responsiveness, so I assumed 
>> it was more in fragments
>
>
> Why "unvelievably"? Do you mean that you do not believe what my
> system says? Or that you do not believe my e-mail? Or that you
> find that it stretches your imagination? Or what?
>
> To answer your question, I use FC2.
>
> Mike


Unbelievable simply refers to this fragmentation number sounds like it 
should not happen. I have no doubt that you are seeing this on your 
system. Since you are running FC2, I assume the system is using regular 
partitions and that the system has been in operation for a long time. 
Sorry if  the response sounded otherwise.

Jim

-- 
To invent, you need a good imagination and a pile of junk.
		-- Thomas Edison




More information about the fedora-list mailing list