SuperFetch, useful or useless for Individual users?

Started by BenYeeHua, May 22, 2013, 05:52:18 PM

Previous topic - Next topic

BenYeeHua

TL;DR:Useful
PS:SSD user just ignore SuperFetch, as it has been disable by default, it don't affect much for you, except you like to put some software on HDD.
Some user said that, he disable SuperFetch and getting a slow boot of OS, just leave it as default. ;)

On weibo, Kai-Fu Lee said:Windows Vista/7 çš,,SuperFetch服务是为企业åº"ç"¨ä¸Žå¤§åž‹åä½œè½¯ä»¶è€Œè®¾è®¡çš,,, 个人ç"¨æˆ·æ²¡æœ‰å¿...要开启. 在大型企业中使ç"¨çš,,ä¸"业软件中与企业策略管理, 数据åº"启动过程中会长达10分é'Ÿä¹‹ä¹.... 而运ç"¨SuperFetch, 可将启动时间降低到6分é'Ÿä»¥å†.... 而对个人çš,,ç"¨æˆ·æ¥è¯´, 平时使ç"¨çš,,日常软件本身çš,,启动时间非常短 通常在1-2ç§'之å†..., SuperFetch这时候çš,,提速只是0.2~0.5ç§', 基本可以被认为是毫无作ç"¨, 而ä¸"还会加大对硬盘çš,,ç›'测(损失CPU性能时间)与读取时间(增加硬盘IO寻址线程分é...). 而SuperFetch对游戏程序是无效çš,,, 对于个人ç"¨æˆ·ä¸Žæ¸¸æˆçŽ©å®¶æ¥è¯´, 开启此服务只会无形损失CPUçš,,性能时间与损失硬盘IO寻址çš,,线程性能.

The SuperFetch service on Windows Vista/7 is design for Enterprise Applications and Large-scale collaborative software, that are no need for Individual users. As the Professional software and Enterprise Policy Management that using in Large Enterprises, the time for database to boot will be 10+ minutes.
By using SuperFetch, it will reduce the launch time to 6 minutes or less. For Individual users, their launch time for daily software is very short, normally it just need 1-2 seconds. At this time, SuperFetch will only speed up the launch by 0.2~0.5 seconds, which can be considered as useless, and it will increase the monitoring of the hard disk(lost of CPU performance time) and load time(increase of hard disk I/O addressing thread allocation).
So SuperFetch is useless for game program, for Individual users and gamers, running SuperFetch will only lost the CPU performance time and the performance of threads for Disk IO addressing.
----
This is what I think, SuperFetch only affect cool launch of software(reduce the time to launch), and it decrease the OS boot time to 20-30 second.
And most of the software, it only slow on cool launch, but not the warm launch.
If we don't shut down or restart the computer, we will only warm boot for every software that we boot before.
And this
QuoteWhenever memory becomes free-for example, when an application exits or releases memory-SuperFetch asks the Memory Manager to fetch data and code that was recently evicted. This is done at a rate of a few pages per second with Very Low priority I/Os so that the preloading does not impact the user or other active applications. Therefore, if you leave your computer to go to lunch and a memory-intensive background task causes the code and data from your active applications to be evicted from memory while you're gone, SuperFetch can often bring all or most of it back into memory before you return. SuperFetch also includes specific scenario support for hibernation, standby, Fast User Switching (FUS), and application launch. When the system hibernates, for example, SuperFetch stores data and code in the hibernation file that it expects (based on previous hibernations) will be accessed during the subsequent resume. In contrast, when you resume Windows XP, previously cached data must be reread from the disk when it is referenced.
http://technet.microsoft.com/en-us/magazine/2007.03.vistakernel.aspx
http://www.osnews.com/story/21471

QuoteWe also compared the startup performance of a couple of applications, including Outlook 2010 Beta, which needed five seconds longer to start and navigating between folders felt sluggish. Launching even the very slim Google Chrome browser took about seven seconds, whereas the original test only took four seconds. This is not good.
http://blog.tune-up.com/myth-buster/myth-busted-why-disabling-superfetch-on-vista-and-windows-7-is-a-bad-idea/


http://www.portablesoft.org/one-click-optimization-rumor/

So, I already know the answer. ;)
And we know that some person speak without testing and proving it. :)

Another PS:The system will slowing down after 1 minute OS has been completely booted, as It(SuperFetch) will start writing data and reading old data about the 9 OS boot it has been recorded before, optimize it. ;)
But, windows 8 user that using Fast Boot don't facing this issue, as I know, SuperFetch don't optimize for Fast Boot yet.

Edit:Changed the Topic/Subject for showing the meaning correctly.

edkiefer

Yes, I left mine enabled when I installed win7 .

BTW , I use these guys guides and seem like good info

http://www.tweakguides.com/TGTC.html
Bitsum QA Engineer

BenYeeHua

Yes, I almost forgot to reading this PDF, it has too much pages. ;D
Thank for the reminder. ;)

And I will find some time to collect and provide some optimize that really useful, maybe it is time to increase my HDD S.M.A.R.T. 04 count. 8)

Jeremy Collake

#3
SuperFetch is more than just the boot prefetcher and ReadyBoost. It is a database that tracks your usage. This important information helps the OS decide what memory pages should be kept in RAM, among other things. SuperFetch basically keeps frequently accessed 'stuff' cataloged, so it can be used by ReadyBoost, the prefetcher, RAM cache, or for memory page prioritization by the virtual memory manager. It should never be disabled.
Software Engineer. Bitsum LLC.

BenYeeHua

Yes, and I think it can be more improve.
I just using some tools like AntiTwin, scanning 1.5+GB with more than 1xxxx of small image.
This software don't cache the image into the Ram, it just repeat reading all the image after comparing to each image.
After a few times it reading for the image/file, then SuperFetch start caching it into the Ram.

But this don't happen for game software, maybe the game software don't read too much small file, and SuperFetch change the behavior when it know it is a "game".

edkiefer

According to that link i posted to win7 , page 202 superfetch gets disabled on very fast HD (SSD's ) , 6.5 in WEI .
It tells you how to set superfetch in registry , there 3 options 0-3 values for superfetch and prefetcher .
Bitsum QA Engineer

BenYeeHua

Quote from: edkiefer on May 27, 2013, 01:00:12 PM
According to that link i posted to win7 , page 202 superfetch gets disabled on very fast HD (SSD's ) , 6.5 in WEI .
It tells you how to set superfetch in registry , there 3 options 0-3 values for superfetch and prefetcher .
Yes, it disable for SSD that getting 6.5+ marks in WEI.
But, Ram is still much faster than SSD, I wonder what is the difference of launch time for the software that cache in Ram or reading directly from the SSD.

I guess, only some software that reading hundred of file in a short time will getting the benefit of caching in Ram, for the SSD user. :)

And yes, there are also some people tweaking the registry values.
---
https://bugzilla.mozilla.org/show_bug.cgi?id=692255
So I just reread it again, and found out that disable Prefetch(Not SuperFetch) for Firefox improve the launch time of Firefox. :o
And I think it affect cool boot, not warm boot.

I wonder why this happen...

edkiefer

It probably be good idea to have superfetch always enable, the hit i am sure is so small .unless it got slower with SSD , which I doubt there may still be a small improvement .

I don't have SSD so it was no brainer to leave on . ;D
Bitsum QA Engineer

BenYeeHua


Jeremy Collake

Quote from: edkiefer on May 27, 2013, 01:00:12 PM
According to that link i posted to win7 , page 202 superfetch gets disabled on very fast HD (SSD's ) , 6.5 in WEI .
It tells you how to set superfetch in registry , there 3 options 0-3 values for superfetch and prefetcher .

Yes, it does say that! I expected ReadyBoost to be disabled, but I did not expect SuperFetch to be disabled. It does make sense, given that the primary purpose is to speed up hard disk I/O. I still believe users will, generally speaking, do more harm than good by adjusting its state though.

Software Engineer. Bitsum LLC.

BenYeeHua

Quote from: Support on May 29, 2013, 02:23:58 PM
Yes, it does say that! I expected ReadyBoost to be disabled, but I did not expect SuperFetch to be disabled. It does make sense, given that the primary purpose is to speed up hard disk I/O. I still believe users will, generally speaking, do more harm than good by adjusting its state though.
So, can any ssd user check for it? ;)
----
And I found this.
http://support.microsoft.com/kb/2727880
QuoteSuperFetch and prefetch are storage management technologies in Windows that provide a fast-track access to data on traditional, slower hard drives. On SSD drives these really clever services only provide for unnecessary write operations. Typically, Windows 7 automatically disables these services for your SSD disk. Otherwise disable it manually.
It has been disable for writing data. :o

But how about Windows 8? :)

BenYeeHua

Just playing PlanetSide 2 and saw something about SuperFetch.
As you know, MMO like to read the hard disk as they has many model and texture.
After I shutting down PS2, SuperFetch is reading back the data that I use daily, as I don't has enough RAM(8GB, the game process might be eating 3.xGB+System and other process 3.xGB)to keep all the thing inside the Ram.

Not a bad design, but I saw the Process Lasso log access time is 22xx ms, as SuperFetch is accessing other item on the HDD. :o
And if you are a MMO gamer or BF3 gamer, you better using more than 8GB RAM, at least 12 GB for SuperFetch caching the game file and other system/process file, or buy a SSD. ;)
As SuperFetch is using 3.x(3.9 after playing game) now, 12GB is needed for gamer and multi-tasker. :)

edkiefer

Update on few things I see with regard to new SSD installed.

As I posted before, once I ran WEI, performance rating ,windows disabled the superfetch service but the reg key are still default

  HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\
Session Manager\Memory Management\PrefetchParameters
"Enable Prefetch" =3
"Enable SuperFetch" =3

Now superfetch service affects more than just superfetch, it affects readyboost and readyboot too.
readyboot file gets replaced rach boot.
trying to decide whats best, MS thinks off is best I guess maybe the added read/write this adds to system and since SSD are fast its not needed.

Side note even though superfetch service is disabled it seems readyboot still gets written each boot and I am getting error in event viewer "Session "ReadyBoot" stopped due to the following error: 0xC0000188"
This seems to happen cause file size is over 20mb, you can alter size .

http://forums.guru3d.com/showthread.php?t=318837

Just got to figure which is best I guess as long as you don't run WEI to much if you want to enable superfetch service, the setting will stick.
Bitsum QA Engineer

chris635

Under readyboot properties click file and check circular. The error goes away with this too.   ;)
Chris

edkiefer

Quote from: chris635 on April 30, 2016, 11:27:47 AM
Under readyboot properties click file and check circular. The error goes away with this too.   ;)
Kool, do you know what it does ?
Does the file ReadyBoot.etl get's enlarged past 20mb ?
Bitsum QA Engineer

chris635

I have been running readyboot like this for several years now, and I have never seen it get bigger, and with no side effects. It tracks only the most recent file changes from what I have read in the past with circular checked.
Chris

edkiefer

Quote from: chris635 on April 30, 2016, 11:39:23 AM
I have been running readyboot like this for several years now, and I have never seen it get bigger, and with no side effects. It tracks only the most recent file changes from what I have read in the past with circular checked.
Ok, Just curious do you have SSD and do you have the superfetch service disabled ?
Bitsum QA Engineer

chris635

I have an SSD. Superfetch is running and set to automatic, but windows deletes the superfetch key.
Chris

edkiefer

Quote from: chris635 on April 30, 2016, 12:42:13 PM
I have an SSD. Superfetch is running and set to automatic, but windows deletes the superfetch key.
Ok, Thats odd, for me in Win7 it left those reg keys both at default 3 value but windows have superfetch service to disable.

Maybe your on Win10 and MS updated how it sets things.
Bitsum QA Engineer

Jeremy Collake

I am not up to speed on the changes Microsoft made to SuperFetch after NT6. I think everyone sees the days where all systems have enough RAM, and an SSD, so that this type of 'history based pre-fetching' is not necessary.
Software Engineer. Bitsum LLC.

edkiefer

Quote from: Jeremy Collake on April 30, 2016, 01:05:39 PM
I am not up to speed on the changes Microsoft made to SuperFetch after NT6. I think everyone sees the days where all systems have enough RAM, and an SSD, so that this type of 'history based pre-fetching' is not necessary.
Yes, MS and Intel and Samsung set it off, but with MS was it for early SSD that had reliability issues or is it solely performance wise.
I will probably leave it and see what happens with move to win10 in a month or so.
Bitsum QA Engineer

chris635

When I was on win7, yes it kept those keys, just disabled the service. I believe it changed with win8.
Chris

edkiefer

Quote from: chris635 on April 30, 2016, 01:51:15 PM
When I was on win7, yes it kept those keys, just disabled the service. I believe it changed with win8.
Ok, that makes sense then, I will check VM win10 an see what it is set, though with VM, it may not be true like local normal install.
Bitsum QA Engineer

edkiefer

I forgot to update this post with new Win10 and AU (1607 build), as Chris mentioned early, MS now has superfetch key gone and the readyboot folder in windows is empty now, so only prefetcher reg key is 3
Bitsum QA Engineer

BenYeeHua

And I think it(readyboot) might causing issues in Windows 10, sometimes I has a fast boot/shutdown computer, sometimes it is just waiting the hard disk for 10mins during normal boot/fast boot shutdown(means hibernate the kernel+driver only).. :P

All of this issues gone if I force shutdown the computer once, or going into safe mode to let itself clear some hidden cache, and I think the cache is this readyboot.
---
Quote from: edkiefer on September 09, 2016, 03:58:11 PM
I forgot to update this post with new Win10 and AU (1607 build), as Chris mentioned early, MS now has superfetch key gone and the readyboot folder in windows is empty now, so only prefetcher reg key is 3
Strange, the readyboot folder is not empty for me, and it is having the modified record 20mins ago, which is when I reboot my computer. :o
Maybe the settings left over from Windows 8 to Windows 10?

And ya, for the superfetch, it is a bit stupid now, after you just bootup your computer, you run your heavy Chrome browser, it will bite your harddisk and causing slow boot of Chrome.
I observed the superfetch just kick in after finish booting, I think it should having the low I/O priority, so I wonder why it will just slow down the computer.

Maybe Chrome is too heavy for cold boot then, as they need to set difference prefetch record for difference processes.
Quote/prefetch:# arguments to use when launching various process types. It has been observed that when file reads are consistent for 3 process launches with the same /prefetch:# argument, the Windows prefetcher starts issuing reads in batch at process launch. Because reads depend on the process type, the prefetcher wouldn't be able to observe consistent reads if no /prefetch:# arguments were used. Note that the browser process has no /prefetch:# argument; as such all other processes must have one in order to avoid polluting its profile. Note: # must always be in [1, 8]; otherwise it is ignored by the Windows prefetcher. ↪
http://peter.sh/experiments/chromium-command-line-switches/

edkiefer

I never use fast boot or hibernation, as my system doesn't like it, won't come out of sleep, so I have that disabled.

My system start up in like 5 sec, counting after bios screen, I think its tiny bit faster than win7 was, but not a lot.

Yeh, on the readyboot folder windows doesn't clean it out even if its not enabled. I think I cleaned it before update to 1607(AU).
Bitsum QA Engineer

BenYeeHua

So I guess maybe I need to do some clean install on a VM, to see how's Windows 10 default setting is. ;)
It is interesting that how much is reset by MS when updating, and also how much is changed only for clean install.

As I know, there are some Windows 10 user tested it, and clean install don't works well than upgrade to windows 10.(I get this information from Nvidia's Geforce forum) :)