47

I have a laptop running Windows 8. Although it originally ran well, it started having very bad performance issues. I decided to perform some research into the topic. Opening up Task Manager, I discovered a process called TiWorker.exe (I think this handles update checking) takes up ~50% of my CPU for the first hour my computer is on, then shuts down.

This causes my computer to have horrible load times an very bad performance. My CPU usage hovers between 90-100%, which is unacceptable. To put this into perspective, my CPU hovers between 0-20% and Linux, and the startup is quick. I understand that Linux has much better performance than Windows anyway, but this is excessive.

Is there any way I can cause TiWorker to take up less CPU? I really need my computer to be fast (at least, more so than a snail). Thanks for any help. I really appreciate it.

Here is my xperf etl file: https://www.dropbox.com/s/6le4j7ye9on0k79/HighCPUUsage.etl

2
  • follow this when you have the TiWorker.exe issue again and upload the trace file: pastebin.com/pgE11HRD Nov 27, 2013 at 4:45
  • the trace doesn't show any CPU usage by TiWorker.exe. Capture a trace when you have the usage again. Nov 27, 2013 at 17:40

9 Answers 9

22

So it seems, that Microsoft published an update in 2013, introducing some new features into the Windows Update engine, including compression of old files. The TIWorker.exe will start to compress files, but the SFC (System File Checker) detects the modified files and restores them back to how they were, causing the TIWorker.exe to crash (you'll see the Windows Error Reporting in the task manager eating all you resources).

It seems, that running the following command on an elevated command prompt fixes the issue:

DISM /online /cleanup-image /restorehealth

I can't test it on my machine as I installed my machine from scratch when I encountered that issue, but the approach looks really promising.

The original source mentioning this solution can be found here.

7
  • How long does this take? Is it safe to kill in the middle of it? Nov 19, 2015 at 18:09
  • Sorry, can't tell, as I didn't try this solution. Maybe someone who tried this can tell you more.
    – Gene
    Nov 19, 2015 at 20:26
  • 1
    Np. I actually just went with disabling windows update / removing it from services.msc. I will probably go with putting Linux on that laptop (the usual "fix the relative's computer" scenario). Nov 20, 2015 at 21:02
  • 7
    Is there anything Windows Update can't ruin? Boot Windows. Glacially slow due to thrashing the HD with 100s of MBs of Updates, every day. Yet Debian manages to only need ~50 MB every few days, & wow: only when I ask. Boot another machine. I'll browse the net until the Updates are ready... Oh, right. I can't. Windows thinks it's entitled to monopolise my bandwidth. So I wait, doing nothing, until finally, the Updates are downloaded. And until they're applied. Now, finally, I can use my PC... Oh. No I can't. Because now it's hammering my CPU compressing Updates. Utterly unbelievable. Jul 30, 2016 at 20:28
  • 1
    Took 5 minutes on my machine and appears to have solved the problem. Sep 17, 2016 at 17:55
7

I am currently experiencing the same feeling. Since we share a common goal (be able to work), I suggest you do the same as I did:

1 - Install and run Microsoft's Process Explorer (which I love because it shows historical responsabilities) using elevated privileges

2 - Right click under TiWorker.exe and set its priority to Background or, temporarily, suspend it (this will release your system immediately).

enter image description here

1
2

Your best bet is to see what TiWorker.exe is and what may be causing it to use CPU. Sometimes, high CPU usage might be caused by another problem, like high disk usage. (Perhaps that leads to high disk cache usage which the CPU is involved with; I dunno. But I've definitely seen that cause and effect.) Or high memory usage, which causes disk thrashing. Anyway, your best bet is to look at TiWorker.exe specifically. You may find that instead of trying to control the problem (by limiting its impact), there may be a way to just eliminate the problem (making things work more right).

However, there are some other approaches that may work with this and other executable files in a rather consistent way. I'll share with you multiple approaches.

Otherwise, you may want to adjust priority, which can be done in task manager or Process Hacker or Process Explorer (as shown by Julio Nobre's answer) or WMIC.

Another option, if you have multiple CPU cores, is to adjust CPU affinity. In Windows 7 (but not XP, if I recall correctly), Task Manager has this capability, so I presume that it is available in Windows 8 as well. That approach saved me at work once; I limited a task to a single CPU core and then it maxed out at 50% instead of 95%+, which made the whole system feel responsive instead of being so unresponsive that it set off alerts for failing to communicate within expected time frames.

Another option may be to use a (downloaded) CPU limiting program, such as Process Tamer or Battle Encoder Shirase.

Finally, another option you can try to tinker with is "Thread I/O Priority", available via Process Hacker or Process Explorer.

0

To fix the TiWorker.exe issue

  • Press Ctrl+Alt+Del.
  • Choose Task Manager.
  • Go to Details.
  • Find the process called TiWorker.exe. The description will be Windows Modules Installer Worker.
  • Right-click.
  • Either select End process tree or hover above Set priority. Continue if you select second option.
  • Click on Low.
  • Voila!

To lower startup times

In Windows

  • Press Ctrl+Alt+Del.
  • Choose Task Manager.
  • Go to Startup.
  • Right-click.
  • Disable all of them (recommended that you leave the drivers and anti-virus software). Or technically, whatever you want to.
  • Voila!

In BIOS

The steps will differ from BIOS to BIOS, apologies for that. Anyway:

  • Tinker around and look for things related to performance.
  • If you have a new Intel-based/Intel-manufactured motherboard, you'll find either of these two: Enable Intel Rapid Start Technology or Intel Fast Boot Technology.
  • Other ones include Instant Boot, UEFI Technology (this is a different thing but if your system hardware supports it, enable, it's common these days). Basically, anything synonymous with the word Fast Boot and it does the same work as these technologies.
  • Select Yes and if you're confident, tinker around trying to customize the technology the way you want to.
  • Voila!
0

the fastest way I've found is to

run cmd as Administrator

then execute following command:

taskkill /im TiWorker.exe /f
2
  • On my system doesn't work because TrustedInstaller.exe (or some other process) keeps relaunching TiWorker. Killing either of them doesn't help either as it seems they are instantly restarted again by some other process.
    – glenneroo
    Jul 24, 2017 at 21:07
  • 1
    Killing a process by force that is part of the Windows Update system doesn't seem like the wisest way to handle this problem. Some processes that go on, in particular, Windows Updates can hammer a system for a while, but once the work is over, things go back to normal. Killing a process by force, especially one trying to update your system could leave your system is a really hosed state.
    – Fauxcuss
    Sep 14, 2021 at 23:58
0

For me the fix was:

  • Stop Windows Update service
  • Rename the C:\Windows\SoftwareDistribution\ folder to SoftwareDistribution.old (no worries it will be recreated after you restart the service)
  • Restart the service

PS. The solution is taken from my blog post here, check out for more details and the explanation

-1

Have you tried the following fix from Microsoft?

http://support.microsoft.com/kb/2771431/en-us

3
  • The download link is broken for me.
    – dillmo
    Nov 27, 2013 at 16:47
  • the update is already superseded and replaced with a newer version. Nov 27, 2013 at 17:21
  • The link now appears to be working, but the problem reported by dillmo highlights the issue with link-only answers.
    – fixer1234
    Jan 8, 2017 at 16:59
-2

I had the same issue which i just resolved, the file you are having problems with is windows automatic update service. Go to control panel, search update, click turn windows updates on or off, then set it to never check for windows updates. If you would like to check for updates in the future just change the setting get the updates and change it back to NEVER.

-3

This worked for me (all or one of this steps):

  • Install hyperV from "add windows features". Reboot and do updates.
  • Do a maintenance from security center.
  • Turn off windows firewall (if you use another firewall together).

Now the "worker has stopped working!" (for me).

1
  • 2
    Can you clarify this answer?
    – bwDraco
    Mar 4, 2015 at 23:12

You must log in to answer this question.

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