Because the memory leak problem is available since many years and not acceptable, I’ve to bump this thread.
I’ve to restart the Roon core on my QNAP 670 pro (16 GB RAM, i7-3770T) a least once a week.
Otherwise Roon becomes unreachable and the process RoonAppliance will eat 10 GB or more of the RAM.
Interesting memory leakage seems to be in relation to total memory. After reboot of my QNAP Nas, memory = 8GB, it starts at 2.6GB and then about 12 hours later its on 4.4GB. It seems to run up to about or just over 50% of total memory, irrespective of size. This could be coincidence
Interesting observation @Douglas_Henning
The memory increase in not instantaneous it does so over many days.
Over the past week nothing changed in the library and that fact makes it even more strange why memory usage increases over time
Maybe it is not related to this problem but I am experiencing the same problems. After validating the log files i can see that the memory consuming grows after an exception error. I have seen two time the same behavior after these exception. The NAS grows completely out of memory after the exception. The exception is:
03/26 11:53:09 Critical: scx: in OnAfterExit: System.NullReferenceException: Object reference not set to an instance of an object
at System.Collections.Generic.List1+Enumerator[T].MoveNext () <0x418ba410 + 0x0000d> in <49e2691b1d1a45389d419b3a01a2b89a>:0 at Sooloos.Broker.Remoting.RemotingServer._Contains (System.Collections.Generic.List1[T] os, System.Object o) [0x00017] in :0
at Sooloos.Broker.Remoting.RemotingServer._PutObject (System.Object o, System.IO.Stream stream, System.Boolean inline) [0x0007c] in :0
at Sooloos.Broker.Remoting.RemotingServer.Sooloos.Broker.Remoting.IRemotingContext.PutObject (System.Object o, System.IO.Stream stream, System.Boolean inline) [0x00000] in :0
at Sooloos_Broker_Api_Transport_Adapter.Serialize (System.Object obj, System.IO.Stream stream) [0x00025] in :0
at Sooloos.Broker.Remoting.RemotingServer.NotifyStateChange (System.Object o) [0x00034] in :0
at Sooloos.Broker.Distributed.ServerConnection.OnAfterExit () [0x00019] in :0
at Sooloos.SynchronizationContextThread.OnAfterExit () [0x0000a] in <1bd91944b74b447389c5da46010288ed>:0
Maybe this exception also occurs in the other configurations.
In my system (Audiolinux + Roon Core, with 32GB RAM) I noticed the same problem. From the investigations made so far, the following have resulted:
Then Roon plays music, the RAM used grows very slowly, but constantly.
There is a “boom” in the RAM used (~ 5 GB additional) when backing up for the first time. The growth takes place mainly in the “Preparing” phase. After completing this backup, the RAM used does not return to its original value.
Starting with the second backup, the “boom” in the RAM used is much smaller (~ 1 GB additional). Growth also takes place in the “Preparing” phase. In the “Transfering” phase there is a decrease in the RAM used.
The increase in RAM used seems to be limited to the maximum value of ~ 8GB (out of 32 GB available). I don’t remember ever seeing more value than that.
I did not notice that the RAM used to ever decrease, except for the “Transfering” phase from backups 2, 3, 4 etc.
I hope this information will help solve this problem.
Are you seeing any symptoms of memory usage in Roon? Does content take a long time to start to play? Does loading pages take a while? What happens if you try to disable local content and leave only TIDAL/Qobuz enabled, do you see the same behavior occur?
Description of of the symptoms:
Randomly I see the describted exception. Sometimes I see this exception in the Roon_Server.log (Under RoonServer/Logs/) and sometimes I see this exception is handled by watchdog in logfile ROONSERVER_QNAP_LOG.txt.
In the first situation after the exception I see the memory grows quickly. I took 4 or 8 hours to consume all of the available memory. This exception occurs at day and night even when nothing is playing. In case the the memory grows, Roon become slower and slower. At some point even the playback is disrupting frequently. Only a restart of the Roon Server solves the problem.
In case of the exception is caught by watchdog, The server is restarted en everything seems to be in the original state.