SuperFetch: what kind of service is it and whether to disable it

Since the release of one of the most popular Windows 7 operating systems today, it has implemented a unique technology called SuperFetch. Not everyone knows what kind of service this is. However, if you recall the Prefetcher technology in Windows Vista, everything will fall into place. Let's try to figure out what it is.

SuperFetch: what is this service?

Before we deal with the service itself, let's start with the basics. If anyone does not know, when starting any program, its executable or configuration files and components are first read from the hard drive and then loaded into RAM. After completing the application, when you reopen the program, the same process is performed.

superfetch what is this service

To accelerate access to programs and directly optimize the operation of system processes, SuperFetch technology was developed. What kind of service is this? Simply put, this is some kind of intelligent system that tracks the most frequent use of certain programs by the user, which allows you to cache application files (put them into RAM) to speed up access to them. That is, the program is launched much faster, because the data is already in the RAM, and not read from the hard drive, which, of course, takes longer.

sysmain superfetch

In the process tree of later systems than Vista, in the standard "Task Manager" it is presented as a SysMain process (SuperFetch - in the service description).

What is the difference between Prefetch and SuperFetch?

The original technology was first very timidly applied in Windows XP, but seriously continued in the Vista version, only then it was called Prefetcher (prefetch). She was responsible for optimizing the loading of system components and modules of running applications before starting directly.

superfetch disable or not

Starting with the "seven", the service has been slightly redesigned, called SuperFetch (superfetch) and began to work in a slightly different way (although there is also a Prefetcher module). Prefetching has a number of disadvantages. The fact is that the number of programs loaded into RAM is limited, and when some application ceases to be actively used, its data is again uploaded to the hard drive, and to the swap file.

In Windows, SuperFetch monitors user activity and, in addition to creating special cards, also saves the configuration of frequently used programs. If for some reason one application was unloaded from memory, the service analyzes the unloading, and after the process that caused the unloading completes, it again initiates loading the modules of the previous program into the RAM.

In general, the service increases the speed of application startup and even provides a more stable increase in system performance. True, it is worth paying attention to that sometimes there may be problems with loading the โ€œRAMโ€ if its volume does not exceed 1 GB, but more on that later.

Managing SuperFetch Service Settings

So, now let's see how SuperFetch settings are managed. What kind of service it is, I think, is already a little clear. We proceed directly to the setup.

According to many experts, it is best to use the registry or group policies for these purposes. However, the second option, in fact, duplicates the first, so let's dwell on the registry. The editor is invoked by the regedit command in the Run menu (Win + R).

windows superfetch

Here, using the HKLM branch, in the system section you need to find the PrefetchParameters directory (these parameters can also be found using a search query). Here we are interested in two keys: EnablePrefetcher and EnableSuperFetch. If there is no second key, you need to create it (DWORD parameter) and give it the corresponding name. For each key, you can enter four values:

  • 0 - complete shutdown;
  • 1 - optimization of only launched programs;
  • 2 - optimization of only the launch of system components;
  • 3 - balanced acceleration of both applications and systems.

As the recommended parameter, automatic optimization of both the system and the programs is set ("3").

superfetch bug

Another method for managing service parameters (and at the same time its SysMain SuperFetch process) is to use the services.msc command, which opens the settings window for executable services and processes. Here you need to find SuperFetch and open the service properties with a double click, and then set the necessary parameter from the drop-down list of the launch type.

SuperFetch: disable or not?

The issue of using the service itself is debatable for many. In principle, with a small amount of RAM, it is better not to use the service. So, for example, if the amount of RAM does not exceed 1 GB, the memory load can reach 600 MB, not to mention virtual memory and a swap file. However, almost all modern computer systems, even with a minimal configuration, are initially equipped with sufficiently large volumes of "RAM" of the order of 3-4 GB or more. So disabling the service is not recommended. Even with 2 GB SuperFetch can be used, in general, without any problems.

Error starting SuperFetch service

But sometimes there are problems associated with the SuperFetch service (disable or not, this is everyoneโ€™s business). Failures at the system level themselves are not particularly evident and do not have a critical impact on the operation of the OS.

However, the error in the SuperFetch module is that this service is simply not activated, even if you enter the necessary parameters in the same registry. Typically, a SuperFetch terminated or denied access message is issued. The point is only that there is not enough RAM or there is a conflict between the "RAM" bars.

Naturally, the best option would be to completely disable the service, but if there is enough memory, it is better to initially test it, eliminate possible problems, and only then make a decision about disconnecting or further use.

Conclusion

Based on the general description of SuperFetch, what kind of service it is, probably, is already clear. But the question of disabling or using this process should be decided by the user. General recommendations are such that with a small amount of RAM it is better to turn it off, but with a normal amount - on the contrary, leave it activated. At least, it will not bring harm for sure.

Source: https://habr.com/ru/post/C13585/


All Articles