High memory and CPU while torrents download to NAS

My Directory Opus has high CPU usage almost all the time.
I recorded a video of it here: https://youtu.be/uhnuXTW_-Ik

I only have 7 tabs open in one lister window. What could be causing such high CPU usage?

I have two different torrent clients (qBittorrent and Vuze) downloading in the background to a local NAS.
Could that have anything to do with the high CPU usage? Is DO scanning something in the background?

The high CPU usage happens even when I'm not using Directory Opus.
I'm using Windows 10 Pro x64 (16GB RAM) and the latest stable version of Directory Opus.

How do we find out what is causing this issue?

Thanks

Is Opus looking at the folders you are downloading into?

Does the problem stop if you close those tabs, or point them somewhere else?

Or if you pause the torrents?

I closed all tabs that point to the NAS and it didn't make any difference with just My Computer tabs open.
Torrent clients still downloading in the background.

When I closed Vuze torrent client, Opus CPU usage dropped to around 0-1%.

Update:
I started Vuze back up and monitored the CPU usage, and it didn't go up for Opus at all. Vuze was downloading in the background and everything was fine.

As soon as I double-clicked on the NAS drive, the CPU usage for Opus shot up to 50% and it stayed between 30% and 50% when browsing the NAS files and folders. The same thing also happens for local drives such as drive C.

Seems like Opus is doing something in the background when browsing files and folders.

Local file browsing and CPU usage:
https://youtu.be/FLXDpw5vMas

My guess is that when the torrents are downloading to that NAS, the NAS device (presumably not running Windows) is sending a flood of file change notifications, which Opus is using a lot of CPU and memory to keep up with.

Are you using the latest version of Opus? If you're on an old version, try updating first, as there are some improvements to how this kind of situation is handled.

If the latest version is installed, these settings may also help:

  • Preferences / Folder Tabs / Options / Process file changes in background tabs - Turn this off and there will be less overhead from having the Y:\ tab in the background. (You'll still get the overhead when it is active, however.) When returning to the tab, it will be reloaded.

  • Preferences / File Operations / Options / Detect external file changes on network drives - Turn this off and there should be very little overhead from then on, but the downside is Opus will not notice changes made on network drives.

  • Preferences / Miscellaneous / Advanced [Troubleshooting]: notify_max_time and notify_min_items can tweak how often Opus processes the queue, but probably won't help here. They are more to help if the UI is not staying responsive.

  • In the same place, make sure notify_debug and shellchange_debug are both False, as having them turned on can increase CPU usage when processing changes. (They should only be on when debugging change notification issues, but it's easy to forget and leave them on by accident.)

You might also want to look at the config options or support forum for the NAS in question to see if it has any options to control how often it sends change notifications, or to make it not send notifications about the temp folders used by the torrent client.

Hi,
I'm using Build 7394, not sure if it is the latest - I couldn't find the build number for the latest version on the website.

I tried the above settings, and restarted Opus, and everything seems to work fine (almost 0% CPU usage even with torrents downloading in the background) until I start browsing local files with Opus.

Just going into the Windows folder and opening folders there causes the CPU usage to reach up to 87% and stay there for a while (20-40 seconds) before going back to 0%.

I also disabled calculating of folder sizes in Opus preferences. No difference.

This is the CPU usage when I'm not using Opus (Lister window minimized), and with the two torrent clients downloading in the background:

It seems like the issue is related to file browsing, rather than the NAS (Synology DS1819+) or the torrent clients running in the background.

Any suggestions?

Thank you

Do you mean the window is really minimized (as in open, on the taskbar, still showing the folder, but minimised via the __ button), or that no windows are open?

Could you have a look at the change events Opus is receiving to see if there's anything unusual there? The Debugging section near the bottom of this post has instructions: Changes to folders are not being detected

Making a few process snapshots while the CPU usage is happening and sending them to us may also reveal something: Manually generating process snapshots

The window is minimized to the Windows taskbar (as in open, on the taskbar, still showing the folder, but minimised via the __ button).

Could you have a look at the change events Opus is receiving to see if there's anything unusual there?

Couldn't find anything unusual there. Just a list of files being read or written to.

I scanned the registry for errors, fixed found errors, restarted Windows, and checked again, it still shows CPU usage of 25% - 50% when I browse c:\windows\system32

Does your Opus show the same CPU usage when you browse that folder?

I just emailed the dump file. Hopefully it has clues as to what is going on.

Thank you!

There's only one snapshot in the zip (the instructions say to make 5 or so) so I can't tell if some of what it shows was just executing when the snapshot was made by chance, or if it was always executing.

(Correction: The instructions used to say to make 5 or so. That got lost when we split them out from another post. I'll add that back in. Our mistake!)

However, what I can tell from the single snapshot is that none of Opus's own threads are doing anything at all.

But something has created a large number of .Net threads (Opus doesn't use .Net at all, so we know they aren't ours) which are all doing various things, including network activity.

Avast Antivirus also looks like it's doing something, although it's hard to be sure if it's involved in the issue or not, since it's common for antivirus to get involved in any filesystem access.

I would try disabling all the shell extensions on your machine and then reboot, to see if that fixes the problem. If it does, re-enable a few at a time until it comes back, and you should be able to track down which one is causing it from there.

These are the non-Windows ones that the snapshot says are loaded into the process:

  • C:\Program Files (x86)\Microsoft Office\root\VFS\ProgramFilesCommonX64\Microsoft Shared\OFFICE16\MSOXEV.DLL
  • C:\Program Files (x86)\RedFox\AnyDVD\ADvdDiscHlp64.dll
  • C:\Program Files\AVAST Software\Avast\aswAMSI.dll
  • C:\Program Files\AVAST Software\Avast\aswhook.dll
  • C:\Program Files\Google\Drive\googledrivesync64.dll
  • C:\Program Files\Listary\ListaryHook64.dll
  • C:\Program Files\WindowGrid\WindowGrid64.dll
  • C:\ProgramData\MEGAsync\ShellExtX64.dll

You can use ShellExView (grab the 64-bit version) to disable them. After making changes, it's best to reboot.

I have good news!
Opus RAM and CPU usage had dropped down significantly and Opus is only using at max 5% CPU compared to to the previous 85% when browsing files.

I downloaded ShellExView and disabled all non-Microsoft shell extensions, uninstalled Google Drive, MEGA Sync, and Listary as I don't use them, and restarted the computer.

Checked Opus CPU usage and it was perfect! Running at around 1%. Browsing local and NAS files doesn't use up much CPU as well. Opus seems to be more responsive and I can go in and out of directories much quicker - there is no delay.

I then enabled some of the shell extensions such as WinRAR, Avast, 7zip, and PowerISO, and CPU usage was still normal.

I left these extensions disabled as I don't use them:

The last 7 extensions are the only .NET extensions on the list and I'm sure they are the cause of the high CPU usage. They belong to WD Discovery, a program for external WD drives. You can see that the path is wrong even though the files do exist in the Program Files folder.

I uninstalled WD Discovery and the 7 entries were removed.

It turned out it had nothing to do the torrents downloading in the background or the NAS after all, which is great.

Thank you very much for your help Leo!

1 Like

Glad you could find the cause!

No offense, however this is once again an example to NOT install each single crapware that those hardware and software manufacturers deliver and want us to install it on our machines. This includes anti virus software as well as graphics cards and main boards manufacturers.

I have given up doing so centuries ago and I running an almost stable Windows 10 since then without having to reset or to reinstall it every few months.

When testing new software or tools I fire up one of my virtual machines and install it there without trashing my real Windows.

As you noticed already, most of those shell extensions slows down Windows Explorer at any time and most of them you will not even notice nor need them. Unfortunately those software producers think installing a maximum of those extensions is good for their users - definitely it's not.

Again unfortunately, not many of the users not even know about this practice and are wise enough to discover and remove or disable the correct extensions if they make some trouble.

I don't say that each single shell extension is causing troubles but the amount of them may do later on.

Just my 2ct...