I generally keep a close eye on memory stats in the server logs to try and see where and when the nonsense starts (zones disappear, app hangs etc).
With this latest build I see the stats are very different. Is this because memory use is actually different or is the way it is being reported changed ?
“Interacting with Roon feels increasingly sluggish over time and when it lags, music playback and streaming to audio devices stops intermittently. The following usually happens because network communication failed while the Roon server froze during garbage collection.”
At first glance, your system numbers look normal to me:
Virtual: 71.022 GB
Physical: 9.946 GB
Managed: 4.233 GB
Unmanaged: 5.713 GB
But these do not look healthy:
% runtime in GC pause: 8.32%
Last GC pause duration: 125 ms
In processing time (not human wall clock time), 8.32% of the time Roon server was running, it was frozen due to garbage collection. That’s not good. Especially if those pauses are 100s of milliseconds long. For example, Roon expects a network socket to respond to a data request in microseconds, but Roon server may have paused processing for 500 ms, so the client gave up or retried several times, and you experience that as a slow or failed action.
If you care to, would you answer a few questions…
After a Roon restart, how long does it take before you notice problems?
Have you aggregated and looked at those [stats] over time?
If you have, can you share the min, max, and median duration for GC pauses?