Saturday, 26 September 2009

TweakPrefetch

TweakPrefetch

NEWS: 05/04/2012 - version 5.3.1.3 released! Minor bugfixes.

TweakPrefetch Functions and Changelog

Download
DOWNLOAD TWEAKPREFETCH v5.3.1.3





Advertisements






Mirrors (could be outdated): Softpedia || MajorGeeks


- Windows XP has an interesting feature, called Prefetch, capable of reducing applications startup time as well as the operating system boot time.

Prefetching works this way: the first time the user runs a given X application, Windows controls its startup and creates a X.pf file inside the Windows/Prefetch folder. This file contains a sort of index of the X application files to load into memory, as well as information about the order in which they should be loaded. That way, the next time the X application is started, Windows will check the previously created "index" and will use its information to grant a faster startup time.

In Windows Vista and Windows 7, the Prefetch function has been partnered with Superfetch: Vista uses a complex algorhytm to determine which applications are used and their access frequency, in order to preload parts of them into memory at Windows startup or at a later moment (determined by the algorhytm I was talking about). Since they are already partially loaded in memory, applications will startup faster than they did thanks to the traditional Prefetch.

Prefetch and Superfetch are theorically good functions. But pratically, things are a bit different. Prefetch does its work well, without any particular cons. Superfetch, instead, could lead to abnormal hard disk activity (caused by memory-disk swapping) and random in-game framerate drops (probably caused by the caching process). Moreover, Superfetch will use a considerable amount of system memory (even if it's managed with an accurate priority system), so tweaking this function might increase the overall performance of systems with less than 2 GiB of RAM. Fortunately, Superfetch has been tamed down in Windows 7, but these problems are still present even on the new Microsoft platform. Furthermore, fetching is totally useless for solid state drive users, who may want to disable this function to extend the lifespan of the unit. For these and/or other reasons, advanced users might want to tweak the way Windows manages Prefetch and Superfetch, and TweakPrefetch is a very easy way to accomplish this.

TweakPrefetch is a utility coded in VB.net capable of managing fetching in Windows XP, Vista and 7. It allows the user to set separate parameters for Prefetch and Superfetch. The available options are:
  • Disabled: completely disables fetching.
  • Applications Only: fetching will only be applied to user started applications.
  • Boot Only: fetching will only be applied to boot files (system files, services and startup programs).
  • Applications & Boot: fetching will be applied to both applications and boot files (Windows default setting for Prefetch and Superfetch).


TweakPrefetch will also detect wrong parameters for Prefetch and Superfetch, and will let the user fix them with a single click.

Since version 3.0, I implemented a fetching configuration Wizard, which will help less experienced users to find the optimal Prefetch and Superfetch settings for their system and needs.




Advertisements






Prefetching in Windows XP is better left at its default value for the 99% of the users. However, someone prefers to set it to "Boot Only", in order to benefit from fetching only at boot time.

For what concerns Windows Vista and Windows 7, default settings are still recommended for most users (especially for who doesn't use the PC for gaming). Advanced users and gamers might want to disable Superfetch (to obtain an XP-like fetching, reduce hard disk trashing and prevent this function to interfere with games) or set it to "Boot Only" at least. Obviously, it's up to the users to experiment different settings and tweak fetching at their advantage.

IMPORTANT NOTICE: - thanks to Pedro Leite Ribeiro - if you decide to disable the Superfetch service under Vista or 7, the system will stop creating the ".pf" files necessary for the Prefetching function (note that you can disable Superfetch but keep the Superfetch service enabled in order to avoid this problem). In this case, you'll have to use the "Rebuild Layout.ini" function once every Windows session you start new applications in, in order to let the system build all of the Prefetch files. Take a look at TweakPrefetch functions list for further info on how to automate the operation.

INSTALLATION/UNINSTALLATION NOTES
To install TweakPrefetch you just have to run the self extracting archive and extract the contents to any folder you like. TweakPrefetch needs the .NET Framework 3.5 (or newer) to run properly.

To uninstall TweakPrefetch, just use the "Delete Settings" function and delete the TweakPrefetch folder.





- Windows XP possiede un'interessante funzione, detta Prefetch, in grado di ridurre il tempo necessario all'apertura delle applicazioni, nonchè quello necessario all'avvio del sistema operativo.

Il Prefetch opera in questo modo: la prima volta che si avvia una determinata applicazione X, Windows ne controlla l'avvio e crea un file X.pf nella cartella Windows/Prefetch. Tale file contiene una sorta di indice delle sezioni dell'applicazione X da caricare in memoria, oltre alle indicazioni sull'ordine con cui caricarle. In tal modo, la volta successiva che l'utente avvierà l'applicazione X, il sistema operativo controllerà questo "indice" precedentemente creato e ne utilizzerà le informazioni per garantire un avvio più rapido della suddetta applicazione.

In Windows Vista e Windows 7, alla funzione di Prefetch è stata affiancata quella di Superfetch: il sistema operativo registra mediante un complesso algoritmo quali applicazioni vengono avviate dall'utente e con quale frequenza, in modo da precaricare parti delle stesse in memoria all'avvio di Windows, o in un secondo momento determinato dall'algoritmo di cui parlavo in precedenza. Essendo parzialmente caricate in memoria, le applicazioni si avvieranno in tempi inferiori rispetto a quanto accadeva con il tradizionale Prefetch.

Prefetch e Superfetch sono entrambe ottime funzioni in linea teorica. Nella pratica però, le cose sono leggermente diverse. Il Prefetch assolve appieno il suo compito senza particolari controindicazioni. Per il Superfetch, le cose si complicano. Diversi utenti (tra cui il sottoscritto) hanno rilevato attività anomale dell'hard disk (causate dal caricamento in memoria delle applicazioni all'avvio o in momenti successivi) oltre a cali di framerate casuali in-game (probabilmente imputabili alle stesse operazioni di caching di cui parlavo). Inoltre, i vantaggi del Superfetch si pagano a suon di RAM (anche se la stessa viene gestita con un accurato sistema di priorità), per cui l'ottimizzazione (o disabilitazione) di tale funzione potrebbe migliorare le prestazioni complessive dei sistemi con quantità di RAM inferiore ai 2 GiB. Fortunatamente con Windows 7 la situazione è nettamente migliorata, grazie ad una gestione meno invasiva del Superfetch. Ma purtroppo, i problemi sopracitati persistono anche sulla nuova piattaforma Microsoft. Inoltre, il fetching risulta pressochè inutile per i possessori di dischi a stato solido, i quali dovrebbero disabilitarlo per allungare la vita del drive. Per queste o altre ragioni, gli utenti più esperti potrebbero voler controllare il modo in cui Windows gestisce Prefetch e Superfetch, e TweakPrefetch rappresenta un modo semplicissimo per farlo.

TweakPrefetch è un'utility codificata in VB.net in grado di gestire il fetching nei sistemi operativi Windows XP, Vista e 7. Essa permette di impostare separatamente i parametri di Prefetch e Superfetch. Le opzioni disponibili sono:
  • Disabled: disabilita del tutto la funzione di fetching.
  • Applications Only: fetch attivo solo sulle applicazioni avviate dall'utente.
  • Boot Only: fetch attivo solo sui file di avvio (file di sistema, servizi e programmi startup).
  • Applications & Boot: fetch attivo su applicazioni e file di boot (impostazione predefinita di Windows per Prefetch e Superfetch).


TweakPrefetch rileverà inoltre la presenza di parametri errati per le funzioni di Prefetch e Superfetch, permettendo all'utente di correggerli in breve tempo.

La configurazione ottimale del Prefetch in Windows XP è, per il 99% degli utenti, quella di default. Tuttavia, qualcuno preferisce impostare il fetch su "Solo Boot", in modo da beneficiare dei vantaggi del fetching solo all'avvio.

Per quanto riguarda Windows Vista e Windows 7, si consiglia comunque di mantenere le impostazioni di default, che saranno più che buone per la maggioranza degli utenti (specialmente per chi non utilizza il PC come piattaforma videoludica). Gli utenti avanzati ed i videogiocatori potrebbero però voler disabilitare il Superfetch (per ottenere un fetching del tutto simile a quello presente su XP, ridurre le attività anomale dell'hard disk e non permettere che la funzione interferisca con i videogames) o per lo meno impostarlo su "Solo Boot". Ovviamente, sta all'utente sperimentare le varie impostazioni e settare il fetching a proprio vantaggio.

NOTA IMPORTANTE: - grazie a Pedro Leite Ribeiro - in Windows Vista e 7 se si decide di disabilitare il servizio Superfetch, il sistema smetterà di creare i file ".pf" necessari per la funzione di Prefetching. In questo caso, sarà necessario utilizzare la funzione "Rebuild Layout.ini" almeno una volta per ogni sessione in cui avviamo nuove applicazioni per permettere al sistema di costruire i file necessari al Prefetch (notare che si può disabilitare il Superfetch mantenendo il servizio attivo, in modo da evitare questo inconveniente). Leggere la lista delle funzioni di TweakPrefetch per scoprire come automatizzare l'operazione.

NOTE DI INSTALLAZIONE/DISINSTALLAZIONE
Per installare TweakPrefetch è sufficiente scompattare l'archivio autoestraente in una cartella a vostra scelta. TweakPrefetch necessita del .NET Framework 3.5 (o superiore) per funzionare correttamente.

Per disinstallare TweakPrefetch è sufficiente utilizzare la funzione "Delete Settings" e cancellare la cartella in cui l'avete estratto.


Softpedia TweakPrefetch at softoxi.com Best Freeware Download Spyware free downloads - Top 4 Download Your Freeware Download Source! Best Software 4 Download


"TweakPrefetch is an easy to use application that is designed to manage your system's fetching. It allows the user to set separate parameters for Prefetch and Superfetch. " - Softpedia || Rated: 4.7/5

"TweakPrefetch is a utility to change how Prefetch and Superfetch operate and set separate parameters for them. This utility definitely isn't for everyone but if you want to be able to tweak your Prefetch settings easily to see if you can get faster run time, give TweakPrefetch a try." - FreewareWeb || Rated: 4.5/5

"This program is a software capable of managing Prefetch and Superfetch in Windows XP and Vista, now it can run under Windows 7. This is an easy-to-use software that is designed to manage your system's fetching. It allows the user to set separate parameters for Prefetch and Superfetch." - SoftSea || Rated: 5/5

"TweakPrefetch - great freeware that helps you easily manage fetching in Windows XP, Vista and 7 (set separate parameters for Prefetch and Superfetch, etc.)" - Softoxy || Rated: 5/5

- Exile

44 comments:

  1. Very nice little peace of software! Congratulations and... thank you! I would like to know what's the use of Configuration Wizard's Main Computer Usage (Business/Gaming). Could you explain it here?

    ReplyDelete
  2. Another doubt: it seems to me that, under Windows Vista at least, if you disable Superfetch, Prefetch doesn't work. Do you agree with this? Did anyone tried this configuration?
    Thank you.

    ReplyDelete
  3. @ Leite Ribeiro

    The business/gaming setting affects the recommended configuration only if your system has a memory amount lower than 2 GiB, and affects it differently if it's even lower than 1 GiB. You can try that by yourself by typing a "test" amount of RAM in the Configuration Wizard.

    I am currently using the setting you mentioned under Windows 7 (I used it also under Vista), and can say that Prefetch is working fine even if Superfetch is disabled. You can notice that because the OS still creates .pf files in windows/prefetch when you run new applications. So, don't worry and go on with that configuration :)

    ReplyDelete
  4. I'm quite sure that, under Windows Vista 32 bit, we must enable superfetch at least for boot only, if we want prefetch working. This seems to be a nice configuration.

    ReplyDelete
  5. Thank you for the info :P I just noticed that the creation of ".pf" files depends on the "Superfetch" service, which is stopped when you disable the Superfetch function.

    I have also noticed that you can still have the system build ".pf" files when Superfetch is set to "Disabled". To do so, just use the "Rebuild Layout.ini" function after you start a new application. You can also start more than one application, and then rebuild the layout.ini in the same session. This will create all the necessary files for Prefetch to work.

    I'll edit the article with this notice, and credit you to thank you for the feedback :)

    Also, I'm probably going to implement command line support and add the function to build a special shortcut which will create all of the necessary files for Prefetch to work properly, even if Superfetch is disabled :)

    ReplyDelete
  6. You don't need to thank me, Exile. You already did it. I thank you for your great TweakPrefetch!
    I think that one of the nice things in Prefetch is it's ability to update itself rebuilding it's files that's why I don't think it's practicable to manually rebuild Layout.ini after starting applications, even if it works well.
    That function to make Prefetch work with Superfetch deactivated will be just great.

    ReplyDelete
  7. There you go :) Now you can create a "Rebuild layout.ini & Shutdown" shortcut with the Create Shortcut function, and use that shortcut to shutdown your PC. Every time you shut the system down using that shortcut, the program will build all of the files necessary for Prefetch to work properly. At least it's more practicable than manually starting the program and using the function once every session :P

    ReplyDelete
  8. I tried using TweakPrefetch, but it tells me it doesn't work with my Windows 7 64-bits Home Premium (French).

    ReplyDelete
  9. Are you getting the "This operating system is not supported" notification? If so, I might take a look into the code and see why the program doesn't recognize your OS.

    ReplyDelete
  10. Anyway, I changed the way TweakPrefetch recognizes the operative system. This should fix your issue. Thank you for the feedback :)

    ReplyDelete
  11. Well does this really work. i hope it does.
    And thanks for the application.

    ReplyDelete
  12. It does indeed :) I'm going to release version 5 tomorrow, so stay tuned! Lots of changes and improvements in the new version.

    ReplyDelete
  13. Version 5 released! Many new functions implemented and fixed a bug with UAC on some systems :)

    Feel free to report bugs you find in the new version here. Any feedback is greatly appreciated!

    ReplyDelete
  14. I cleaned up the Prefetch folder manually a few days ago. The "layout.ini" folder didn't seem to come back ... 'till I discovered today this fabulous piece of software... I used the appropriate otion and ... here it is again, without any problem!!!

    Thanks a lot for this; works prefectly on my Win 7 Pro x64.

    ReplyDelete
  15. You're welcome :) remember to comment if you happen to find a bug in the software ;)

    ReplyDelete
  16. Hello,
    I can't get this to work the way it's supposed to, and it's not your software's fault but Windows 7 Ultimate.
    Here's what happens: If I change the registry keys either using TweakPrefetch or directly with regedit, regerdles of what value I set here HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Memory Management\PrefetchParameters for EnableSuperfetch and EnablePrefetcher the Superfetcher still loads application stuff into my memory :(.
    I used: Boot Only for both (2, 2), monitored the disk/memory activity: Superfetch still loads files.
    Then emptied the Prefetch folder, but this file: NTOSBOOT-B00DFAAD.PF is recreated automatically at next boot and it remebers all the stuff (games and apps) to load into memory, after 5 minutes Superfetch starts to load my memory with that stuff.
    The only way I can get Superfetch to stop loading is to disable the service. But I still want to use "Boot only" so what can I do?
    Thank you

    ReplyDelete
  17. Ok Eddie, I'll try to help you out.

    First of all, the ntosbootXXXX.pf file is the boot trace, and only contains data referring to those processes that run automatically when you start the machine (windows components, anti-virus software etc), so the fact that it gets recreated is normal behaviour.

    If you're concerned about boot time, you can try the configuration I'm using: prefetch enabled for apps and boot, superfetch disabled and superfetch service running. This way you'll notice a benefit in the startup time, and the OS won't load too much stuff in the memory (except Windows' modules, which is what causes the HDD trashing when Windows has just started).

    Also, if your HDD is trashing too much, you can try disabling the automatic defragmentation (and run it periodically), the Windows Search service and Windows Defender.

    Let me know if this helps somehow :)

    ReplyDelete
  18. Hi Exile,

    I mentioned the NTOSBOOT-B00DFAAD.PF file because it was the only .pf file being recreated and although, as you said, it's supposed to only hold boot and system files references, I looked into it with a tool called WinPrefetchView and it contains references to games and other apps superfetch was loading... weird.

    Anyways, after a few days running with Superfetch service disabled, my boot time increased a lot and some tray icons for volume and network were showing disabled marks on them a short while before fully loaded. So I decided to clean again the prefetch directory, then turned Superfetch Service back on, set "boot only" for both using TweakPrefetch.
    The layout.ini and all the prefetch files were recreated by Windows, and now, somehow, it doesn't load all the games and apps it used to, even though they are still listed into that file. It only loads some windows stuff 5
    minutes after boot, but it seems ok now.

    I already have Windows Search and Windows Defender off.
    Maybe I will try your Prefetch/Superfetch setting too.

    Thank you for your help, much apreciated :)

    Best wishes,
    Eddie

    ReplyDelete
  19. Glad you sorted your issue out, Eddie :)

    Let me know if you find anything wrong in TweakPrefetch!

    ReplyDelete
  20. TweakPrefetch is always getting better and better! This last 5.1 version, with the possibility of keeping superfetch service enabled is fantastic! Congratulations!

    ReplyDelete
  21. Thank you! :) Your major bug report helped me a lot! Enjoy the new version :D

    ReplyDelete
  22. tied this tip and really works and boosted my pc speed
    thanks bro

    ReplyDelete
  23. Hi!, im a little bit confused about using this soft depending on the amount of RAM installed in my computer, if someone could explain more about this issue i'll be gratefull.

    BTW: i have 4GB RAM, W7 Ultimate x86 and im a gamer.

    ReplyDelete
  24. @Anonymous: the recommended Prefetch/Superfetch setting for your machine is Windows' default, as you might see if you run the Configuration Wizard.

    If you're using an SSD, however, you should disable both Prefetch and Superfetch since they would be useless.

    If you don't like the HDD thrashing at some points, or are experiencing in-game framerate drops due to abnormal HDD activity, you could try the configuration I'm using:

    Prefetch: application and boot
    Superfetch: disabled
    Superfetch service: enabled

    Hope this helps :)

    ReplyDelete
  25. @Exile: thanks a lot for the info.

    I dont use SSD, but as far as i understand, your config might work on my computer so i´ll try it.

    ReplyDelete
  26. You're welcome! Let me know if you find anything wrong in Tweakprefetch.

    ReplyDelete
  27. I noticed that your install package didn't include an un-install link and it doesn't show up on any Windows uninstall.

    What's up with that?

    ReplyDelete
  28. Thanks for the tip...xp is the best OS ...and your advice helped me

    ReplyDelete
  29. I cleaned up the Prefetch folder manually a few days ago

    ReplyDelete
  30. @anonymous - the tweakprefetch package is not an actual installer, it's rather a simple self extracting archive. To uninstall tweakprefetch completely, just delete the folder you extracted it to. You might want to delete the stored settings before you do that by using the button in the options submenu.

    ReplyDelete
  31. I am running Win7SP1x64 Ultimate with 8GB ram.
    Does TweakPrefetch 5 work on Win7x64 syetems?
    With 8GB ram (usually filled with audio samples from NI Kontakt) will disabling SuperFetch be of benefit in avoiding unnecessary disk access?
    Thanks :)

    ReplyDelete
  32. It works for sure, my friend.

    You can disable Superfetch to avoid some unnecessary disk activity, but with 8 GB of memory you should keep it enabled. Unless your OS is installed on a SSD, of course :)

    ReplyDelete
  33. ok, thanks. I notice today the 120gb-128gb SSDs are the sweetspot here in USA. A 128gb system drive is a future option.
    Also, I guess when using Win7 as a DAW digital audio workstation, it is perhaps best to boot from a Win7 install optimized just for audio appz.
    Cheers :)

    ReplyDelete
  34. I found this site from a popular tech blog. Software looks interesting however I am not able to download mediafire files for some reason. Could you please upload it on another file upload service.

    Thanks

    ReplyDelete
  35. Just use one of the mirrors. It's available on Softpedia and MajorGeeks.

    ReplyDelete
  36. http://tweakhound.com/xp/xptweaks/supertweaks11.htm

    ReplyDelete
  37. Also note. Tweakhound has a bad tweaks page. This tweak described here is one of them.

    ReplyDelete
  38. I assume you didn't read TweakPrefetch's description at all. Let me sum it up for you:

    When referring to XP, "TweakHound" reports the same thing that's written on this page: leave prefetching at its default value.

    Things are more complex with Vista and 7, therefore one cannot advice one setting as "the best".

    Experimenting is the way, and TweakPrefetch makes experimenting much easier ;)

    ReplyDelete
  39. This is not working on Windows 8 x64 - It says the operating system is not supported

    ReplyDelete
    Replies
    1. I did not update it to support Windows 8. I plan on doing so whenever I have some free time.

      Delete

  40. Thank you so much for that information alone Greetings

    ReplyDelete

Please only use comments to give feedback or suggestions. Support requests are only accepted via email.

/* IMG tags of images to preload */