Extreme idle CPU use with control mode, Mac & Windows

Hey, folks.

I’m seeing extremely high CPU use with Roon just sitting idle, onscreen or minimized, on both Mac (especially) and Windows (seemingly a bit less). Out of all the processes on my Mac, for example, Roon (again, just control) uses the most by a factor of over three! (Total CPU for Roon #1 with 36:14:02:23, Kernel Tasks #2 with 12:33:06:51.)

Just idle, it uses between about 24-99% of CPU at any given time.

Similarly, on Windows, if I have Roon open, it chows my battery much faster than with it nor open, even when it’s not active.

The server is an Intel Skull Canyon NUC running W10.

What’s going on?

Hello @David_Nanian,

Thanks for contacting support, I’d be happy to take a look over this issue with you. Can you please provide some more details of your Audio setup here?

  • What is the output zone you are attempting to play back to? Please list model/manufacturer of the end DAC. Does this issue occur across multiple DACs or is the high CPU usage only visible when using one specific DAC?
  • Can you please let me know what version of Mac and Windows Operating Systems you are using as the Roon Remotes?
  • Have you updated Roon and Roon Remote to the newest Build 334?
  • Can you please provide screenshots of your Activity Monitor (on Mac) and Task Manager (on Windows) that highlights this issue?
  • Do you have Audio Analysis turned on at the time of the high CPU usage?
  • How large is your library? Please provide the approximate number of Tracks and Albums.

I look forward to your responses and we can continue troubleshooting from there.

Thanks,
Noris

Hi. @noris.

  • The selected destination zone is a PSAudio DSJr.
  • High CPU isn’t 100% of the time, but the output is almost always one of two of those units.
  • All ROON software is up to date.
  • Mac is running 10.13.6; Windows is build 1803 (presently).
  • I had done a sample, but I’ve since rebooted my system. But even now - I only opened Roon a short time ago - Roon has the most CPU of nearly everything. (I pasted a screen shot from a few moments ago.)
  • AA is always on, but nothing new had been added that recently. The most recent thing, a few days ago, were about 30 tracks.
  • Library is 8207 albums, 108497 tracks.

Next morning:

David, just to be clear – are you saying this resolved itself? Or are you considered the CPU usage in that screenshot to be “extreme” ?

It looks pretty unremarkable to me, and there are lots of things Roon can be doing in the background during idle, like retrieving updated metadata for all your albums.

Just keep in mind that the Roon Core is designed to be reasonably “heavy” so I wouldn’t get too hung up about resource usage, unless it’s causing other issues. Are you experiencing any other symptoms? Dropouts? Slow performance in Roon? Resource problems with other apps? It’s ok if you’re just wondering about the numbers, but these don’t look concerning to me.

Hi, @mike.

After rebooting the system, the 100% CPU settled down but as you can see from the total CPU use, it’s still the #1 user of CPU on the entire system, which is kind of amazing, because it’s not Roon Core - that’s on a separate system. It’s just the remote, idle, sitting there.

So while the momentary CPU isn’t as high right now (I think it gets worse over time - right now it’s idle, minimized, and using about 9%), it still impacts battery on a laptop quite significantly, and uses more energy than I’d expect doing, basically, nothing…or relatively nothing, as these things go. (As a software developer, I’m quite aware that there are always “things to do”, but it’s like the remote is polling really aggressively, as opposed to blocking on waits…)

In case this provides any additional info, here’s a few-days-up Activity Monitor shot:

I have a sample, too, from Activity Monitor, but it won’t let me upload it. Again, this isn’t the actual server - this is just a client.

Hello @David_Nanian,

Apologies about the delay in getting back to you here, I just wanted to check in to see if you were still experiencing the same issue with our newest Roon Build (b339). Do you by any chance see a spinner in the top right hand corner of Roon when the CPU usage is abnormally high? Something similar to this:

image

Is it possible that you are actively writing information to one of Roon’s watched folders in the background and Roon is constantly scanning the new media files in that folder as they appear and that could be the cause of the high CPU usage? Please let me know your findings when possible.

Thanks,
Noris

There’s no question that, at least once a day, Roon updates its data, probably from Tidal. But the folders involved are not changing. (And, again, the server is a different device.)

I rebooted earlier today. Here’s a list of processes from Activity Monitor, sorted by CPU time, cut off only when things drop so much there’s little point. Note that Roon is using as much CPU time as the kernel.

Hello @David_Nanian,

A few other questions:

  • Can you please confirm that the Macbook Pro that you are using is logged out and it is not being used as the Core in this case?
  • How long does the high CPU usage remain for? Is it a temporary spike or does it keep growing?
  • Would you be able to create a 30 second GIF of the average CPU usage using LICECap Screen Recording Software?
  • If you minimize Roon to the Dock, does the CPU usage drop as per this user’s similar report?
  • Do you have Dropbox set up in Roon? I also saw this report that disabling Dropbox as a watched folder would return the CPU usage back to normal, I would give that a try if you are using Dropbox.

Please let me know your findings when possible.

Thanks,
Noris

  • Yes. Here’s the settings on the MacBook Pro:

    “DiskStation” is the NUC. (It used to be on a DiskStation, but that didn’t offer sufficient performance, so it’s now on a Skull Canyon NUC.)

  • The CPU usage varies, but doesn’t drop significantly when minimized. Here’s a shot of “right now”, with it minimized:

  • I am not using Dropbox. Here’s the storage tab:

    (In this case, \DiskStation is a real DiskStation (a 2415+).

  • Here’s a GIF of a screen recording (I used QuickTime to capture the screen, and Cloud Converter to convert). I’m showing Roon behind Activity Monitor so you can see that it doesn’t have a “scanning” or “active” indicator.

    (alas, it barfed because it’s over 3MB - the recording is 4.4MB. Let me know how to send it to you.)

Hello @David_Nanian,

Thank you for providing that information for us. I have opened a ticket for your case for a dev to take a look at although I cannot comment on when your case it will reach their queue. As for sending the GIF to us, you can upload it to shared dropbox location or you can upload it to our servers. I will PM you shortly on instructions on how to upload it to our servers if you decide to go down that route.

Thanks,
Noris

Hello @David_Nanian,

I can confirm that we have received the submitted GIF. I will be sure to update you after I have more information to share regarding this case.

Thanks,
Noris

Hello @David_Nanian,

Appreciate your patience here, I have just received the report back from QA regarding you case and they have reported that your network setup could be the culprit for the high CPU usage here. From the Gif and diagnostics from your machine, Roon Remote has dropped the connection with Core 446 times over 7 days - meaning approximately 60 times per day.

I would try simplifying your network setup and taking a look at what could be causing these network outages as they seem to be affecting CPU cycles when Roon tries to reconnect. Is it possible that your firewall is configured in a way to occasionally block Roon Remote connections? The port range that should be forwarded for proper communication for Roon Remotes are discussed by Brian here:

We also have a Networking Best Practices guide listed here which may be worth taking a look at, there are some Router specific settings listed there or if you are using switches in your setup you may need to take a look at “flow control” or multicast settings.

Thanks,
Noris

I can’t see how that could be, @noris!

Both devices are on the same local network. There’s no firewall between them. While they’re not plugged into the same switch, they’re in the same room, and both switches are the same model and work fine. There is no indication of any network problem (and I’ve tested things extremely carefully since I do a lot of work with networks here).

The 446 “drops” could EASILY be due to sleep/wake cycles. Overnight, depending on the testing I’m doing, it may sleep and bounce awake a number of times. < 100 times a day wouldn’t necessarily be unexpected.

But there’s no way it’s losing connections when the system is awake due to any sort of network issue. Just isn’t happening.

Note that the iMac Pro and the actual DiskStation that holds the content are plugged into the same switch. If it’s not losing a connection to the DiskStation (and it’s not), it’s super unlikely it’s losing a connection to the iMac Pro due to any sort of network issue.

Similarly, the iMac Pro is plugged into the switch that connects to the actual router (a Ubiquiti EdgeRouter 4), so you’d also see drops of the internet…which you don’t see, right?

Finally, there is no indication when I’m simply looking at Roon – and definitely not in the GIF, which showed no evidence of any sort of network drop or anything else, so you must be basing this off logs – that any connection has been lost when I’m showing you the CPU use live.

None. No spinner. No indication of “lost connection”. No prompt to choose a core. Nothing.

And, I very often run extensive, over-the-network (to the DiskStation) tests of iSCSI copies, all day long. If iSCSI failed, I’d know. I’d be logging it. It’s not happening.

I’ve been following the thread because I’ve noticed the same as @David_Nanian and was wondering what would come up. I’m not quite sure if there’s a common understanding achieved that the issue are not spikes or an “extremely” high absolute use of cpu but the rather high overall resource usage of Roon compared to other processes and taking into account that as a control point Roon doesn’t do much more than rendering its UI - and when nothing’s playing not even that once the screen’s filled.

For me, it’s not so much a bug as it tends to be an annoyance when I use my Macbook (with a 2.6 GHz Core i5 processor) to control music playback and due to its above average CPU use the fan - during a listening session: suddenly - kicks in. It’s not always bound to happen but especially when having the queue in fullscreen it’s not unlikely.

Some Activity Monitor numbers from my Macbook to give an idea:

  • Roon open but doing nothing (empty queue) needs 10% of available CPU all of the time - even if the application window has no focus and isn’t part of the currently visible desktop / screen
  • Roon playing queued items adds about 10% more on average with spikes adding up to 20% on top (which may or may not trigger the fan over time)
  • a rather high memory usage (all those bitmaps from covers, maybe?) but that may not be related

I don’t know much about application profiling and such but it seems like there’s room for improvement performance wise. Maybe the application doesn’t know when it’s not in focus - and could actually sleep? For instance I see Safari in Activity Monitor and when it doesn’t do anything (or not much) it doesn’t consume CPU (and doesn’t drain the battery). That’s nice. :wink:

Hello @David_Nanian,

Thank you for your reply. We have discussed your case today with one of our senior developers who would like to make sure that we have all the necessary information here to properly move forward on this thread.

Some key information that would be useful:

  • Can you please Sample the Roon process in Activity Monitor when you notice the high CPU usage? You can use these directions to perform this step: https://support.omnigroup.com/sample-osx/ and send the sample as a dropbox link in a PM if you prefer to keep that information private or post it publicly on this thread.

  • Can you please provide the make/model of all of your Networking Equipment in the setup and how it is connected? What I gathered so far is the following topology, please correct me if I am wrong:

Ubiquity EdgeRouter 4 -> Switch 1 (Ethernet)
Switch 1 -> iMac Pro Remote (Ethernet)
Switch 1 -> Skull Crayon NUC Diskstation Core (Ethernet)

Ubiquity EdgeRouter 4 -> Switch 2 (Ethernet)
Switch 2 -> Other Windows Machine (which exhibits same behavior)

As for previously noticing the lost connections, I have enabled diagnostics for your machine and that was the method in which were able to ascertain the information from your logs, my apologies for not stating that previously. For now, I’d like to keep diagnostics mode turned on for your account to see if the logs reveal anything else important but the above information would be really crucial in bettering our understanding of the issue and recommending next steps forward. Please let me know your replies when possible.

Thanks,
Noris

It’s important to note that my iMac is multi-homed, with ethernet and wifi enabled. Ethernet is preferred.

Between this device and the NUC, it’s:

FiOS -> EdgeRouter 4 -> Switch -> Switch
                        /    \       |
                    iMac     NAS    NUC

That’s it.

The two switches are Netgear GSS116Es.

Note, too: I’ve seen this on Roon installations on the iMac Pro & MacBook Pro (Wireless)…

If you send me an upload link again (or if I can use the existing one), I’ll upload the sample. It’s far too long to include in this post.

Hello @David_Nanian,

Thanks for the network setup details. I just PM’d you a link with instructions on how to upload files to our servers.

Thanks,
Noris