How to find components causing high CPU usage

See also:

If you are seeing constant high CPU usage, you might be able to find out what is causing it using Process Explorer:

  • Launch Process Explorer.
  • Sort the process list by the CPU column (i.e. sort by CPU usage) and confirm that dopus.exe is actually the process using a lot of CPU.
  • Right-click dopus.exe in its process list.
  • Select Properties, then Threads, and sort the list of threads by the CPU column.
  • Select the thread using all the CPU, then click the Stack button below the list.

You'll see a list of DLLs (followed by "!" and then some other information), with dopus.exe also somewhere in the list. There will usually be several Windows DLLs included the mix (e.g. USER32.dll, kernel32.dll, ntdll.dll) which can generally be ignored.

See which other DLLs are there, paying most attention to the ones nearer the top of the list.

Close and reopen the stack window a few times so that you look at a few snapshots of the stack, to make sure you are looking at a typical example and not an anomaly. (If a single component is using a lot of CPU then it will usually be shown in the snapshots, but it won't always be, so looking at several snapshots reduces the possibility that you take the snapshot at an unlucky time and miss the important details.)

If there are DLLs near the top of the list that aren't related to Opus then the CPU usage may be caused by a 3rd party component, often a shell extension or video codec. You may recognise it from the DLL name alone, but if not you can search your C:\ drive for that DLL name to see where it's coming from, and once found open the Properties dialog for the DLL to get more information.