0

I've been struggling with this issue for months now. Whenever my computer is turned on for 2-3 days straight, Windows Task Scheduler service starts to slowly eat up all of my 32 GB of RAM, and after exhausting those it eats up all 32 GB of the swap file memory as well. I only knew it was some service at one of the svchost.exe instances, but today I nailed it down to Task Scheduler when I was able to stop it with Process Explorer and everything went back to normal.

My question is: what exactly can cause Task Scheduler to do this? It's certainly NOT one of the programs that are scheduled because it doesn't stop to consume all memory when I close every single program and service except Task Scheduler itself.

An important note: when it does that and I open the Task Scheduler in mmc, there are always some tasks showing an error (Microsoft Antimalware and a couple of others). Those errors can be fixed by removing those tasks both from Windows registry and from %windir%\Tasks and then re-importing them with <UseUnifiedSchedulingEngine>true</UseUnifiedSchedulingEngine> lines removed. However, after some time those lines magically appear in the tasks again and they throw errors again.

P.S. I don't know if the fact that those lines get re-added is the cause of the memory leak. P.P.S. there are no tasks that I don't need. I only have Windows tasks and some third-party software tasks, which never caused this behavior previously.

6
  • You clearly have a task that is running or a task that is attempting to run, that is causing the behavior you describe. Have you tried to disable tasks you don't need? Do you have any custom tasks? Instead of submitting a comment, please edit your question, to include this vital information.
    – Ramhound
    Commented Mar 13, 2019 at 14:14
  • If it can't start some task for some reason, does it really have to eat up all ram instead of just showing some error in the event log? By the way, the event log doesn't have any task scheduler related items.
    – COOLak
    Commented Mar 13, 2019 at 14:20
  • @COOLak As RamHound said, have you tried to disable task you don't need? Do you have custom task? Do your task do a clean up? Sometimes when a task fails and you have a short schedule they will pile up, usually if they depend on resources which allows only one instance. Try to correlate the output of this powershell command ps | get-object name, starttime with the task schedules.
    – dmb
    Commented Mar 13, 2019 at 15:01
  • @dmb I edited my question right after Ramhound left their comment. Don't you see? The edit answers two of your questions. And no, they don't do a cleanup. As for your advice, it returns get-object is not recognized as the name of a cmdlet.
    – COOLak
    Commented Mar 14, 2019 at 4:25
  • @COOLak The edit wasen't reflected at the time I was writing this. In powershell try ps | select name, starttime if you do select * you can see the full list of properties to select. Sorry about the get-object I was working on some project and got confused
    – dmb
    Commented Mar 14, 2019 at 11:47

1 Answer 1

0

After many years of suffering, I've realized that the cause of this was VerifiedPublisherCertStoreCheck task, which is one of the default Windows tasks. For some reason, it kept restarting every 3 minutes, even though its settings didn't assume this type of behavior. It was supposed to be restarted each time the computer went idle for 3 minutes, but it kept restarting every 3 minutes regardless of the computer's state. That's what caused piling up the memory in svchost.exe containing Task Scheduler. I have completely disabled this task now, because it appears that its default state is Disabled. I'm not sure why did it even get enabled, probably by some optimization software that treated it as a vital Windows component.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .