Windows 10 slowly increases RAM usage on 2 different PCs
I have 2 computers with Windows 10:
PC:
- Windows 10 Education 1803 (April Update)
- Intel Core i5 8400
- Crucial Ballistix Sport LT 16GB (2x8GB) DDR4 2400
- MSI GeForce GTX 1060 3GT OC, 3GB GDDR5
- MSI Z370 SLI PLUS - Intel Z370
- Samsung SSD 850 EVO - 250GB, Basic
- Seagate BarraCuda - 2TB
Notebook:
- Windows 10 Home 1803 (April Update)
- Specification: https://msi.com/Laptop/GS70-2PE-Stealth-Pro/Specification
The problem is that the longer the computers are running the more RAM they use. And the more RAM they use the more laggy they behave, especially in games (some games becomes even unplayable because of "micro lags" every few seconds so I need to restart the computers to clear the RAM) and even video starts to be desynchronized with audio after some time.
Moreover, after the April Update, the System process started to consume a lot of CPU, probably because of increasing RAM usage as the xperf program probably said. Maybe the CPU usage is higher when the computers are running longer but it is not as straightforward as in RAM case.
I tried to use poolmon and found out that the pool tags "Proc" and "Toke" are increasing its memory usages. But I was unable to find which driver or another software uses these tags and leaks memory.
The problems on both PCs started probably in January when I bought the PC.
Here are some screenshots after about 5 hours:
- RAM usage in Processes tab in Task Manager
- RAM usage in Performance tab in Task Manager
- RAM usage in Users tab in Task Manager
- Poolmon output
- CPU usage by System process
- Xperf output for CPU usage by System process
Some non standard software I use:
- Google Drive Sync
- ManicTime
- MEGAsync
- MSI Afterburner
- OpenVPN
- VirtualBox
- WireShark
I tried with no success:
- Set ClearPageFileOnShutdown
- Disable Prefetch
- Disable Superfetch
- Disable NDU
- Update all drivers
- Uninstall some drivers
- Run sfc /scannow
Could anyone tell me what could be the problem or what should I try next?
EDIT:
Many thanks to @magicandre1981. The problem was with zombie processes generated by Win10 Widgets skin for Rainmeter.
I used the utility "FindZombieHandles" from the article about zombie processes and it showed me about 20000 zombie processes in my system after 2 hours of runtime and the count of it was still increasing at rate about 5 new zombie processes per second. It did not show me which process cause this leak but it gave me at least an idea what is wrong.
Then I debugged the utility to see if there is more information. I found out that there were a lot of zombie CMD processes. So I used Process Explorer to see what process creates those CMDs and it was the already mentioned Rainmeter.
The cpu usage of the system process is about that Windows thinks you run out of memory and trims working set.
Next use xperf/WPA to see which processes use "Proc" and "Toke" tag. (Proc means a lot of processes are running).
In Final step look in CPU entry under Taskmgr->Perf if you have a high number of Handles (over 100k).
This could indicate zombie processes. Run FindZombieHandles to find zombie processes and close them to free memory.