Intro Download and install Frequently Asked Questions Tips and tricks

Homepage







© J.C. Kessels 2009
MyDefrag Forum
May 19, 2013, 07:27:04 am *
Welcome, Guest. Please login or register.

Login with username, password and session length
News:
 
   Home   Help Search Login Register  
Pages: [1]
  Print  
Author Topic: About Layout.ini  (Read 3043 times)
PoP
JkDefrag Senior
****
Posts: 32


View Profile
« on: July 22, 2010, 02:40:29 pm »

As some people here I see in layout.ini a number of files that should not be listed - in my opinion.
Whether or not there are reasons for such files to lay in the "optimized zone" is not the object of my remarks, though.
I have read several posts on the forum that suggest to exclude such black sheeps from the "optimized zone".
I really don't think it's a good idea because YES you can tell Mydefrag to ignore some files in layout.ini but NO you can't tell Windows to ignore them at boot time and/or when lauching the 32 "selected" applications.
So what will happen if some files listed in layout.ini have been placed in zones that are distant from the start of the disk ?
Big head jerks at boot and launch time, I think. The worst case is when the "supposed useless" files are moved to the spacehogs. Worst than worst : placed at the end of the disk.
 

But there is more to think about because there are also a lot of folders listed in layout.ini.
Indeed I have looked at layout.ini twice a week for the three last months and I have noticed that between 70% and 100% of the folders are listed in it.   
What does it mean about the standard Mydefrag system scripts ?
Again probably big head jerks at boot and app launch time because the head has to fly between two distant zones, the Directory zone 2 and the layout.ini zone 3.

So I decided to merge the layout.ini zone and the Directory zone at the start of the disk.

  /* Place files at the beginning of the disk. */
  MakeGap(0)

  /* Zone 2: Directories and layout.ini */
  FileSelect
    Directory(yes)
    or ImportListFromBootOptimize()
  FileActions
    Defragment(Fast)
    FastFill()
    AddGap(500M + RoundUp(ZoneEnd,500M))
  FileEnd

The next remarks do not apply to XP, and not tested in Vista, only Seven.
 
This merging of zones 2 and 3 makes MyDefrag and the native OptimizeLayout function compatible in Seven.
I say "the OptimizeLayout function" not the whole scheduled native defragging.
Indeed in Seven the native defragger does place the "optimized" zone at the start of the disk (at least on my computer).

During the three months I have let MyDefrag and the OptimizeLayout function work concurrently.
The very first day I realized the problem with the folders that were moved to the start by the native function then back to the zone at 3GB or 30% by MyDefrag and so on.
This is why I defined the zone 2 as above and I could see afterwards that, indeed, MyDefrag did not move any file that had just been placed by the native OptimizeLayout function.
However once I have noticed that Mydefrag moved about 30% more files to the optimized zone that the native function (with the same layout.ini file, of course, and I do not use hints). This was after a lot of installations/uninstallations. On the diskmap I could see that the files that had been moved by MyDefrag were files that clearly belong that kind of files-you-do-not-expect-to-see-in-layout.ini (temp files, installer files, ...).
This means that the native function seems more discriminant than MyDefrag in deciding what files should be considered for the optimized zone.       

Presently under Seven I have disabled the scheduled native defragging, of course, BUT NOT the OptimizeLayout function. On the contrary I use ExcludeFiles(ImportListFromBootOptimize()) in my scripts. So that the boot-optimize-layout is defined only by the native function and remains unperturbed by MyDefrag. May be I should not but I lean to believe that people at MS know how to make the best use of layout.ini.

Note : I have only been able to test MyDefrag  AFTER the native function because running idle tasks creates a new layout.ini before optimizing. Does anybody know how to run the layoutOptimize without creating a new layout.ini file ?   
Logged
rlg118
JkDefrag Hero
*****
Posts: 78



View Profile
« Reply #1 on: July 22, 2010, 05:23:44 pm »

"So what will happen if some files listed in layout.ini have been placed in zones that are distant from the start of the disk ?"

Not sure I agree with this whole premise. What happens if a referred-to file has been deleted? Does the system grind to a halt?
Logged

Rob G
Central New York, U.S.A.

"Sacred cows make the best hamburger." - Mark Twain
Kasuha
JkDefrag Hero
*****
Posts: 595


View Profile
« Reply #2 on: July 22, 2010, 06:26:05 pm »

The problem with layout.ini, at least in my opinion, is that not only files used during machine boot up get there but also files that are used in certain period of time after boot up. So you start your PC, run a video - and bam, you get this video in layout.ini. Next time you start a game, and bam, you get several gigabytes of game files to layout.ini, too.
Now I don't really see problem even in that, but what I really see as a problem is that it may cause the boundary of the zone to move by several gigabytes forward or back on a daily basis and if you are optimizing daily it means this may move several gigabytes of files from the spacehog zone to boot zone and back plus many other files while rolling their zones every day.

As far as I know, the layout optimization only moves small files. And indeed, since I excluded large files from my boot zone I have never seen it battling with MyDefrag optimization again. And because I only let small files in I don't need to worry about the zone growing or shrinking by several hundreds of megabytes between optimizations.

the script I use is:

Code:
Title('Fast Optimize C:')
Description('Fast Optimize disk C:')

Debug(0)
#Debug(431)

VolumeSelect
  Name ('C:')
VolumeActions

  FileSelect
    ImportListFromBootOptimize()
    and SelectNtfsSystemFiles(no)
    and Directory(no)
    and Size(0, 50 Mi)
  FileActions
    Defragment(Fast)
    FastFill()
    AddGap(Minimum(ZoneEnd + VolumeFree / 50, ZoneEnd + 1 Gi), DoNotVacate)
  FileEnd

  FileSelect
    not(
      SelectNtfsSystemFiles(yes)
      or Directory(yes)
      or Size(50000000,0)
      or (LastAccessEnabled(yes) and LastAccess(,1 month ago))
      or DirectoryName("$RECYCLE.BIN")
      or DirectoryName("RECYCLED")
      or DirectoryName("RECYCLER")
      or DirectoryName("$*")
      or DirectoryName("Downloaded Installations")
      or DirectoryName("Ehome")
      or DirectoryName("Fonts")
      or DirectoryName("Help")
      or DirectoryName("I386")
      or DirectoryName("IME")
      or DirectoryName("Installer")
      or DirectoryName("ServicePackFiles")
      or DirectoryName("SoftwareDistribution")
      or DirectoryName("Speech")
      or DirectoryName("Symbols")
      or DirectoryName("ie?updates")
      or DirectoryName("dllcache")
      or DirectoryName("Installshield Installation Information")
      or DirectoryName("System Volume Information")
      or DirectoryName("windows.old")
      or FileName("*.7z")
      or FileName("*.arj")
      or FileName("*.avi")
      or FileName("*.bak")
      or FileName("*.bup")
      or FileName("*.bz2")
      or FileName("*.cab")
      or FileName("*.chm")
      or FileName("*.dvr-ms")
      or FileName("*.gz")
      or FileName("*.ifo")
      or FileName("*.iso")
      or FileName("*.log")
      or FileName("*.lzh")
      or FileName("*.mp3")
      or FileName("*.msi")
      or FileName("*.old")
      or FileName("*.pdf")
      or FileName("*.rar")
      or FileName("*.rpm")
      or FileName("*.tar")
      or FileName("*.wav")
      or FileName("*.wmv")
      or FileName("*.vob")
      or FileName("*.z")
      or FileName("*.zip")
      )
  FileActions
    MoveUpToZone()
    Defragment(Fast)
    FastFill()
    AddGap(Minimum(ZoneEnd + VolumeFree / 100, ZoneEnd + 512 Mi), DoNotVacate)
  FileEnd

  FileSelect
    SelectNtfsSystemFiles(yes)
  FileActions
    PlaceNtfsSystemFiles(Ascending,MftSize * 0.1)
  FileEnd

  FileSelect
    Directory(yes)
  FileActions
    MoveUpToZone()
    Defragment()
    FastFill()
    AddGap(Minimum(ZoneEnd + VolumeFree / 100, ZoneEnd + 512 Mi), DoNotVacate)
  FileEnd

  FileSelect
    all
  FileActions
    MoveUpToZone()
    Defragment(Fast)
    FastFill()
  FileEnd

VolumeEnd

Note: I have Windows 7 too and I have not disabled anything on it. All built-in defragmentations and other optimizations are on and I see no collisions between them any my MyDefrag optimization which I run once a week.
« Last Edit: July 22, 2010, 06:30:40 pm by Kasuha » Logged
jeroen
Administrator
JkDefrag Hero
*****
Posts: 7155



View Profile WWW
« Reply #3 on: July 23, 2010, 07:50:12 am »

I really don't think it's a good idea because YES you can tell Mydefrag to ignore some files in layout.ini but NO you can't tell Windows to ignore them at boot time and/or when lauching the 32 "selected" applications.
I agree, excluding anything from the boot zone will slow down the boot process. It's interesting to hear that merging the directories with the files used when booting makes the zone more or less compatible with the native Windows 7 optimizer, and you are right that it will reduce head movement for the directories while booting. However, it will increase head movement for the directories after booting because the directories are then far away from the MFT. In other words, it makes booting (and MyDefrag running time) faster but makes normal computer usage slower.

Kasuha has described another way to make the boot zone more stable, by excluding big files. Yet another way is to exclude new files, so that the boot zone only contains files that are older than for example 7 days ("ImportListFromBootOptimize() and CreationDate(,7 days ago)"). This is will make the boot zone very stable as far as MyDefrag is concerned, but will make booting slower.
Logged
poutnik
JkDefrag Hero
*****
Posts: 1105


View Profile
« Reply #4 on: July 29, 2010, 04:06:32 pm »

Kasuha has described another way to make the boot zone more stable, by excluding big files. Yet another way is to exclude new files, so that the boot zone only contains files that are older than for example 7 days ("ImportListFromBootOptimize() and CreationDate(,7 days ago)"). This is will make the boot zone very stable as far as MyDefrag is concerned, but will make booting slower.

I think aside of excluding big and new files there are also problematic files going into/out of layout.ini. AFAIK this file covers files accessed till 120s since system core started, or till 60s since services were started, or till 30s since GUI started, whatever comes first. I guess booting steps time fluctuations can make changes in layout ini.

I have also suspicion for vista - may apply to win7 too - that layout.ini covers superfetched files too, and that layout.ini is subject of change even between boots. ( I boot usually once a week, unless restart is needed sooner ).

I address it with offline copy of layout.ini, time by time created offline copy of layout.ini. I keep in boot zone only layout.ini "stable" files, i.e. present in both layout.ini copies. It makes boot zone much more stable for daily optimizations.

Instead of simple  ImportListFromBootOptimize() 
I use ImportListFromBootOptimize() and ImportListFromFile("c:\folderwithofflinecopy\layout.ini")

It does not cover all of file fluctuations, but many of them.
Logged

It can be fast, good or easy. You can pick just 2 of them....
Treating Spacehog zone by the same effort as Boot zone is like cleaning a garden by the same effort as a living room.
ff_mfg
JkDefrag Hero
*****
Posts: 51


View Profile
« Reply #5 on: August 06, 2010, 10:26:40 pm »

Excluding big files might even be good to include in default scripts, because the described situation with playing a video after computer start and getting this video in bootzone is actually very common and really unwanted occurence.
Logged
BloodySword
JkDefrag Hero
*****
Posts: 1113



View Profile
« Reply #6 on: August 07, 2010, 08:44:33 am »

No! A video file must not rely on a system partition!
Logged

Greetings from Germany!
poutnik
JkDefrag Hero
*****
Posts: 1105


View Profile
« Reply #7 on: August 09, 2010, 08:45:21 pm »

No! A video file must not rely on a system partition!
As far as it does not violate any nature law of conservation, I would not say it must not.
Lets say some advanced users prefer not to have a single partition only on system disk.
Logged

It can be fast, good or easy. You can pick just 2 of them....
Treating Spacehog zone by the same effort as Boot zone is like cleaning a garden by the same effort as a living room.
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.5 | SMF © 2006-2008, Simple Machines LLC Valid XHTML 1.0! Valid CSS!