40

There is an observation to be made for Windows 10 on my laptop running with 24G memory available, and 2.5G used. There is no 'memory pressure'. Other questions have looked at memory consumption (which isn't the problem here). In all the related questions here and elsewhere, I havn't been able to find an adequate explanation to the issue of this exccessive cpu utilization over the last month or two after one of the Windows 10 updates.

I can accept that there is value in this service or process, but to run continually, and to use additional cpu resources, and as a consequence, use battery power less efficiently, that is the issue I am trying to resolve.

In some article on this site, it was suggested that I turn off SuperFetch, and set a registry entry for PrefetchParameters to 0. I did both and performed a reboot.

I reboot the machine, turn off screen saver, and start the task manager. After a few minutes, the service labeled as 'System and compressed memory' starts taking 5% of my cpu, consistently. My base cpu utilization is maybe 1%, which keeps the fan low. But when the 'system and compressed memory' service runs at the 5%, the fans ramp up. And just keeps running.

Sillyness. Why does that service need to be running consistently like that with no memory pressure? Any additional mechanisms I can try for turning it off or determining what it is actually doing? Are there logs file entries somewhere? Or an in-depth diagnostic tool?

how-to-disable-windows-10-memory-compression -- no real answers here

windows-10-system-process-taking-massive-amounts-of-ram

17993-windows-10-memory-compression

desktop-build-10525-and-windows-10-memory

www.techish.net/system-and-compressed-memory/

windows-10-build-1511-overheating-cpu-fan-always

Windows Performance Recorder - now need a link for info on how to interpret the info

scrub maintenance

4 Answers4

30

Analyzing the ETL file with WPA shows, that the CPU usage doesn't come from system memory compression. It comes from ntoskrnl.exe!MiScrubMemoryWorker:

Line #, DPC/ISR, Process, Stack Tag, Stack, Count, TimeStamp (s), % Weight
8, , , ,    |    |    |- ntoskrnl.exe!MiScrubMemoryWorker, 79667, , 12,45
9, , , ,    |    |    |    ntoskrnl.exe!MiScrubNode, 79667, , 12,45
10, , , ,   |    |    |    ntoskrnl.exe!MiScrubNodeLargePages, 79667, , 12,45
11, , , ,   |    |    |    ntoskrnl.exe!MiScrubNodeLargePageList, 79667, , 12,45
12, , , ,   |    |    |    |- ntoskrnl.exe!MiScrubPage, 79663, , 12,45
13, , , ,   |    |    |    |    |- ntoskrnl.exe!RtlScrubMemory, 79653, , 12,45
14, , , ,   |    |    |    |    |    |- ntoskrnl.exe!RtlpGenericRandomPatternWorker, 38549, , 6,02

This is a function to test the memory for errors by filling / reading some patterns (ntoskrnl.exe!RtlpGenericRandomPatternWorker).

This is by design and happens when the idle maintenance task kicks up when your device is idle.

8

First, re. CPU usage: The "System and compressed memory" process (it's not a service) performs many functions. Just because you see it using CPU time does not mean it is doing work compressing memory contents. To find out, use Process Explorer to find the name(s) of the thread function(s) in the process that is (are) using CPU time. You'll need to configure symbols in Process Explorer to do this, as described in this answer.

The memory that is being compressed is memory that was

  • part of the private working set of a process (i.e. shared with any other process); and
  • modified while it was in that process; and
  • subsequently lost from the process due to page replacement, and put on the Modified page list. (This algorithm has not been substantially changed for Windows 10. You're not getting any more page replacement then you used to.)

Now... if you don't have a pagefile, it will just stay on the modified page list (until the process ends). (Please note: Disabling your pagefile will not change the behavior so far described.)

If you do have a pagefile (which is, of course, highly recommended), the behavior differs between Windows 10 and prior versions.

  • Prior to Windows 10, it would have soon been written to the pagefile and the physical pages would be moved to the Standby page list. This is done by a "modified page writer" thread in the System process.

  • With Windows 10, it's first compressed (taking around half as much room as it used to) and stashed in the user mode address space of the System process (now called "System and compressed memory"). If necessary to free up memory it can then be written to the pagefile and released for other use. (Note that the benefits of space compression apply to pagefile space and I/O time too.)

So, really, this is a good thing. However much additional memory you see used by the System process, well, prior to Windows 10, about twice that much would have been on the modified page list or standby list. Certainly it will not take any more space than it used to.

You can (per my recent tests) disable this mechanism by getting rid of your pagefile, but this will not affect the page replacement behavior; modified private pages pushed out of processes will simply be ineligible from being freed for other use, and instead of being in the System process the memory (about twice as much of it) will just sit on the MPL.

2

It may be the "Killer Network Manager" software. If you uninstall it, the issue goes away, but so does network as it uninstalls the network adapter drivers as well. The good new is, there is a fix.

First, go to http://www.killernetworking.com/support/driver-downloads/item/killer-suite and download the new version, but do not install it yet. Just save it and know where the file is located.

Then, uninstall the current version through the control panel. You will have to restart the computer. Once the computer is back up, run the new software installer. The new version that was released January 2016, doesn't seem to have that same issue.

I think the old version of the software has a memory leak causing this issue.

Just a FYI, the "Killer Network Manager" software is part of Qualcomms Aethos Killer Wireless-AC / Wireless-N and wired E2200 / E2400 network cards. Without the software, you have no internet.

McPlot
  • 29
2

I had a similar problem after recently upgrading to Windows 10. My mouse would all of a sudden start stalling, i.e. jerking as I moved it across the screen which made it very difficult to use.

I checked CPU usage in Task Manager and noted that the problem occurred when the "System and Compressed Memory" process started consuming from 5-15% of the CPU. I ran Process Explorer and checked the threads and like Raymond I noticed that the main culprit was CcWriteCopyWontFlush with an offset of 0xb50. A bit of Googling led me to this page. I tried installing the Windows symbols as some suggested here, but it never helped me resolve the offset.

The problem was also sporadic. I would work for a few hours and then it would start appearing for a few minutes, on and off, driving me crazy. Rebooting would cure it for a while and then it would return.

From the answers here I decided to hunt down the drivers on my PC, so I started with Device Manager and that's where I got my answer. When the problem occurred, my Device Manager window would constantly go blank and refresh, like every second or two. It was essentially unreadable. More Googling suggested an external USB device connecting and reconnecting. I tied it down to my Samsung phone which I charge from my PC every day via a cable connected to a USB port. I also use the PC and MyPhoneExplorer to sync up my phone with Outlook so I have a couple of drives mapped to my phone's internal and external RAM, using Samsung's drivers for the PC. I could see these drives appear and disappear frequently in Device Manager.

My phone is a Galaxy S2 and is about 4 years old and I've had connection issues on the microUSB port for well over a year. That may account for the sporadic nature of the problem, or it may be the crappy Samsung PC drivers for my phone. If it were just the cable I don't know why rebooting cures the problem for a while, so it's still a bit of a mystery, but at least I know the source and I can fix it.

Disconnecting my phone is the easiest way to solve the problem, and I'm about to ditch it anyway since it's so old. So I'm wondering if Raymond also had a Samsung device driver with similar software running on his PC. Raymond, if you're still checking in, let me know.

As I mentioned the cable has been crappy for a while, since well before the upgrade from Windows 7 to Windows 10, and the Samsung software has always been awful, but in Windows 7 the flakiness didn't affect my other operation of the PC. In Windows 10, it made the mouse so jerky, that it became close to unusable. I had an extremely hard time trying to land on a target, and I think the keyboard was also being affected too with key presses being missed. It's strange how these factors interrelate and I don't know what to suggest to Microsoft about improving Windows 10, but I now feel like Windows 10 is a bit "delicate". Use with caution.

MartinF
  • 21