RAM compression offers a novel solution by compressingHow Does File Compression Work?How Does File Compression Work?File compression is at the core of how the modern web works, one could argue, because it allows us to share files that would otherwise take too long to transfer. But how does it work?Read More, or crunching down, little-used elements stored in RAM and decompressing them whenever needed. This reduces the burden of the page file and significantly increases RAM available to the operating system.

Keep in mind that this is a gross simplification of a far more complex chain of processes which lead to RAM compression. Here’s a schematic from Microsoft on how Windows 10 compresses RAM:

According to Microsoft, apps compressed in RAM take up 40% of their original size. On top of that, Windows 10 now uses the page file 50% less.

The compressed portion of RAM shows up in Windows Task Manager as System and compressed memory. To a casual observer, it appears as if Windows consumes an extraordinary amount of RAM. The impact on performance — particularly on systems with 4 GB of memory or less — should be dramatic:

The method isn’t experimental or unique. In the Linux world, ZRAM offers an analog. For example, Android employs ZSWAP and ZRAM to great effect. It’s been reported that compression can improve performance on multicore systems. OS X since Mavericks has also used RAM compression. The biggest difference is that Windows might allow users to toggle RAM compression on or off.

2. How to Turn RAM Compression Off or On

RAM compression is handled by a process known as Superfetch. Unfortunately, turning off Superfetch may substantially impact system performance. However, for those without any other option, you may need to disable the service. Doing so requires little effort.

How to Disable RAM Compression

This method of disabling RAM compression comes from Reddit user koukouki. Special thanks to MakeUseOf reader Bilateral for the tip.

First, press the Windows key + X. Then press R. You should see the Windows Run dialog. Type “Services.msc” (without the quotation marks) into the text field and press enter. You should see a list of all Windows services. Locate Superfetch and right click on it. Then choose Properties.

Next, click on Stop. Then choose the field for Startup type. Choose Disabled.

Finally, click on OK. Both RAM compression and Superfetch are now disabled. If you experience a reduction in performance, however, you’ll want to turn Superfetch back on.

How to Enable RAM Compression

Follow the same instructions as above, but instead of setting the Startup Type to Disabled, choose Automatic from the context menu.

There were initial reports that RAM compression sucked up a significant amount of CPU resources. Microsoft issued a patch, so there shouldn’t be any more performance issues. However, this requires testing.

3. Impact of RAM Compression on Performance

RAM compression shouldn’t impact system performance as it doesn’t run continuously in the background.

But does enabling RAM compression take a significant chunk out of your computer’s processing power? I ran a benchmark using PassMark’s PerformanceText in order to find out.

Should You Use Windows 10’s RAM Compression?

Absolutely. Reducing the amount of times that Windows reads or writes to the page file, system responsiveness should improve substantially – particularly with 4 GB or less of RAM. On top of that, there’s no noticeable decrease in system performance whenever it’s enabled.

On the other hand, those of you with 16 GB or 32 GB of RAM probably won’t even notice the difference, since your system rarely (if ever) touches the page file.

Do you know what’s eating up most of your system memory? Have you run into any limitations with RAM on your Windows 10 computer and if so, how much RAM do you have? Please share with us in the comments!

As I understand it, the "System and Compressed Memory" process no longer exists in current versions of Win 10 as of Winver 1607. You should probably correct this in the article, because I went crazy looking for that process when I read articles like this one. Microsoft changed it to be hidden under the "System" process. Task Manager no longer lists it, though you can see it as a sub-process of "System" with special TM-like tools such as Process Explorer or Process Hacker.

MS also no longer lists the amount of memory compressed under "System", as that was freaking people out, since some could not understand how they had so much memory being used. (It wasn't, because it was compressed, so it seemed like a lot more memory.)

...Also, I agree that one way to turn off memory compression is to disable Superfetch, as I tried this without understanding what it meant. If everything is right, it does not make sense to do this. The reason most people were trying to disable Superfetch, memory compression, etc. was most likely because of bugs in earlier versions of Win 10. It's unfortunate, but once bugs are worked out, leaving these features in place should produce superior performance--but how do we all keep up with the bug-fixing process?

With Win 10 we have an ever changing OS, that is going to leave a lot of us confused about where we are with certain features at any given moment, and we will come across an awful lot of stale articles and posts that are no longer true, that suggest we try things that no longer make sense. After all, how many will be able to keep up with all the changes?

The scheduled tasks have no impact on this as their ar tasks that will trigger only on certain "bad" events happening when memory get corrupted.

And in fact I already tried this and System Memory Compression process was still running even after reboot.

The best way to disable this is to open a Powershell (as admin) then type "get-mmagent" you should see a list of features actived or not (True/False) and if MemoryCompression is set to True then disable it with "disable-mmagent -m" and reboot, you should not see System Memory Copression process anymore.

don.t lie.it affects perfomance highly.i am playing arma 2 and suddenly my fps drops at half.i open task manager and system compression takes 40% of my cpu.why i have to use this if it slow downs my games by half?disabled it.if microsoft will forcely open it again i will reinstall to win 7

I hope that this isn't a lie. I've read that in some instances, the compression algorithm can bug out and reduce system performance. Microsoft claimed to have solved the issue. While it ran seamlessly for me, it seems to be causing you issue. Have you tried killing the process using the method outlined in this article?

yes.i tried other methods that I found in internet but it still working(seems its built in system).at normal use it is consuming 8% of my i5 cpu for doing nothing..i play only in MMORPG games and there cpu is always bottleneck.so windows 10 consuming 8% of my raw fps minimum.this is nonsense.why I have to loose fps?I will reinstall to windows 7 when I will have free time.I have screenshots but I can,t attach to this comments

A reader posted a comment mentioning how to actually disable compression. You have to disable SuperFetch, which you definitely don't want to do. It seems there is no reliable method of disabling compression.

Denis

August 24, 2016 at 7:02 am

Thx.but I tried that already.it still using my cpu for 4-8% all the time.it consumes only 0,1mb ram(I have 16gb)but what he is loading?spying?

Kannon Y

January 3, 2017 at 5:29 pm

Hi Denis, the commenter above your comment mentioned a method that seems to actually disable memory compression. Please check it out if you have a moment.

i already back on windows 7 and will use it till microsoft again forcefully push people on windows 10.i have win 10 on my notebook and microsoft already deleted memory compresion by itself few months ago

MS has not "deleted" memory compression. They have placed it now as a sub-process under the "System" process, but you cannot see that with Task Manager. If it is on, you will see more than (0 MB) under the Performance Tab: Memory section. As stated by Pyrion, the easiest way to turn it off is to disable Superfetch. However, unless there is some other issue with your computer, it should work better with this on, except perhaps for short periods while the disk is being accessed. Accessing compressed data from RAM is MUCH MORE EFFICIENT than from the disk--that is what it's intended to do. If it is not working, either MS has not yet worked out all the bugs, or there is some other problem with your machine.

The memory diagnostic feature doesn't actually disable memory compression. Memory diagnostic is an on-demand task that runs on certain system event IDs that indicate potentially corrupt RAM, so as to schedule a memory diagnostic run on next boot.

To disable memory compression, you have to disable SuperFetch. I'm not kidding, I've tested this extensively on my end. All of Windows' memory management tweaks from Vista onward require SuperFetch to be running, so the easiest way to stop Windows from compressing standby pages is to disable SuperFetch.

Thanks for this Pyrion. I didn't think the compression would be written into the same memory service we have had since Windows 7. SuperFetch was designed to keep as much of your working memory out of the PageFile as possible, even back then. I got my Windows 8.1 w/Bing $150 tablet back up to "quite good for the price" level performance in Windows 10 now. The memory compression feature just was not designed for a weak processor, 1GB of RAM, and emmc flash hard drive on Windows. It just kept shuffling everything around instead of making heavy use of the PageFile like I was used to from my 8.1 experience. Pegged the processor around 25%, memory and disk i/o both maxed to their remaining available.

Firefox is currently open with ten tabs at 650MB because I'm just a tech news junkie. There are 16GB of RAM installed. The OS is Windows 10 Pro. Nothing aside from the rare memory leak causes a noticeable limitation. Before work, after reading this article, I ran Task Manager. For only a moment "System and compressed memory" made an appearance with 0.1MB which means my PC is just soooOOOOooo awesome...

What's fun is with the use of a certain app (cleanmem) you can cajole Windows into compressing memory even if the system isn't feeling memory pressure. In previous versions of Windows, cleanmem would send an instruction via .NET to the Windows kernel once for each process that would basically tell the kernel to reclaim memory from the associated process. All of the process' standby pages (that is, memory that isn't being actively touched) would be relinquished back to the system and zeroed out. Windows 10 uses the same approach, except instead of zeroing out those pages, it compresses them and stores the result in the system process' working set, in case they're needed later, since decompressing a page still stored in RAM is still many times faster than pulling the needed info off of disk.

And if you ever want to see Windows go crazy with compressing and decompressing large volumes of memory, do a LZMA2 non-solid compression job in 7zip with a dictionary file that exceeds your system's physical RAM amount. I say non-solid because the dictionary file gets reset each time 7zip starts compressing another file, and all of the memory pages that were used for handling the previous dictionary file then get flagged as standby, which results in them getting compressed, only for the next big file's dictionary steadily growing and those pages being recalled back from RAM to be reused.

One other tip, if you want to improve system responsiveness in high memory use situations: if you have multiple solid state disks, put a pagefile on each of them. Windows round-robins all writes to the pagefiles if there are more than one. And incidentally, make them initially large enough to handle just about anything you could foresee yourself throwing at the system in total, because this determines your commit charge limit (physical RAM + initial (not maximum) size of combined pagefiles). So for example, on my desktop, I have 12GB of RAM and three solid state disks, with a 6GB starting size pagefile on each, for a combined 30GB commit charge limit. This helps to avoid out-of-memory errors even with 64-bit applications mainly because the vast majority of Windows applications reserve memory in advance of actually needing it, and the commit charge limit determines the maximum amount of memory that can be reserved by any one application.

Kannon is a Tech Journalist (BA) with a background in international affairs (MA) with an emphasis on economic development and international trade. His passions are in China-sourced gadgets, information technologies (like RSS), and productivity tips and tricks.